Hive2

作者: 扣篮的左手 | 来源:发表于2018-06-05 15:09 被阅读0次

初体验

在hive中创建一个表,按照逗号分隔:

create table aa_test(id int, name string, age int) row format delimited fields terminated by ',';

在node-1创建一个格式化文件1.txt



将1.txt上传至HDFS,目录为Hive当中创建的表对应的目录下:

/user/hive/warehouse/aa.db/aa_test


执行select count(*) from aa_test,其实是跑了一个MapReduce程序。Hive就是把SQL语句转化成了MapReduce作业。



建表的数据类型

在Hive建表的数据类型:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types
支持java的类型 大小写不敏感
除了基本类型外 还支持复杂数据类型 例如Arrary Map等
关键在于分隔符的指定


分区表

创建两个文本文件,aa.txt当中存放的是英文名,bb.txt中的是中文名:




在Hive当中创建表

create table t_user(id int, name string) row format delimited fields terminated by ',';

这个时候在HDFS上/user/hive/warehouse路径下已经有了t_user文件夹,让后将前边的aa.txt 和 bb.txt两个文件放到t_user目录下。

hadoop fs -put aa.txt bb.txt /user/hive/warehouse/t_user

上传之后目录下就会有两个文件:


假设t_user还有一个字段就是用来存储国家的,这个时候想要查询中国人或者外国人需要进行全表的扫描,然后用where进行过滤,这样会消耗大量的时间。如果这个时候需要查询中国人的话,只去扫描bb.txt,就会非常快。这就提出了分区表。

单分区建表语句:

create table t_user2(id int, name string) partitioned by (country string) row format delimited fields terminated by ',';

分区表导入数据的语法:

相关文章

  • beeline的连接

    beeline的连接方式 1、开kerberosbeeline -u "jdbc:hive2://10.1.11....

  • HDP版本hive升级

    cd /usr/hdp/2.6.2.0-205/hive2/bin/ export HIVE_CONF_DIR=/...

  • 安全知识&kerberos初识

    问题一 kinit alicebeeline -u "jdbc:hive2://baogang2:10000/de...

  • Hive2

    初体验 在hive中创建一个表,按照逗号分隔: 在node-1创建一个格式化文件1.txt 将1.txt上传至HD...

  • Hive2

    Hive的部署解压缩、重命名、设置环境变量在目录$HIVE_HOME/conf/下,执行命令mv hive-def...

  • Hive2

    P11窗口函数需求(五): where语句不能用于含有计算的查询,可以用子查询解决,子查询就是在外面再嵌套一个se...

  • oozie-hive-ssh调用

    hive oozie调用hive action,注意,不是使用hive2 actionoozie需要上传 work...

  • Impala常见问题笔记

    kerberos下怎么jdbc链接(kerberos)?jdbc url的写法:jdbc:hive2://host...

  • hive jdbc 连接串

    一。连接单机的字符串: jdbc:hive2://192.168.16.21:10000/jqxx;princip...

  • hive2的客户端连接

    bin/beeline 登录客户端 连接方式: !connect jdbc:hive2://node03:10000

网友评论

      本文标题:Hive2

      本文链接:https://www.haomeiwen.com/subject/wqvpsftx.html