Hive 由 Facebook 实现并开源,是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能,底层数据是存储在 HDFS 上。
Hive的本质是将 SQL 语句转换为 MapReduce 任务运行,使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据,适用于离线的批量数据计算。
一. hive操作
hive -f filename # filename中存储要执行的sql
hfs -du -h 表的路径 # 查看表的大小
hls /path/database/table # 可以查看改table下有哪些分区
hfs -rmr /path/database/table/dt=20200515 # 删除指定分区
二. pyspark
from pyspark import SparkConf, SparkContext
from pyspark.sql import HiveContext
conf = SparkConf().setMaster("local").setAppName("test")
sc = SparkContext(conf = conf)
# sc = SparkContext( 'local', 'test')
hc = HiveContext(sc)
hc.sql("use my_db")
data = hc.sql(f'select * from my_table')
print(data.count()) # 数据量
data = data.toPandas() # 转成pandas格式
网友评论