part 1:hive sql的连接方式
hive sql 一共三种连接方式,第一种是jdbc的方式,第二种是非常熟知webui的方式,我这里比较常用的是命令行的方式对hive进行一个交互。这里我要介绍的是从文件执行hive sql。具体如下所示:
在linux命令行界面,可以直接通过hive + -f + file进行执行hive sql。注:当你在当前sql文件下时,可以需要跟路径,直接进行执行这个sql file。其次,我们需要对执行的sql代码进行传参,这里与上面不一样的是多了一个命令。hive + -hiveconf variable-name=... + -f + sql-file。以上操作是工作中最常用的技能。
part 2: 建表
对于简单的建表忽略,这里只阐述最常用也是最重要的分区表的创建;
以上这张图片摘自hive programming,注意大红色箭头的位置,关键词为partitioned by,其次打上绿色剪头的位置千万别加上逗号,初学者极易容易犯错。其次了解一下动态表的插入操作就差不多通关了。
part 2:查表
查表是大家非常熟知操作,select。。。 from。。。。这里我想阐述的是,在数据量极大的情况下,进行关联映射的时候,一定要先用子查询,其次在进行关联映射。理由依据:利用子查询进行条件过滤本质上是进行数据量收缩。小数据量进行映射自然查询效率上升。子查询在数学角度本质就是集合里面取子集的操作。
part2:笛卡尔积的映射
主要介绍left semi join 和left join的操作,主要可以参考下面博客链接:
https://blog.youkuaiyun.com/HappyRocking/article/details/79885071