1.2.1

Hive客户端脚本CLI分析及debug环境搭建

元气小坏坏 提交于 2019-12-06 21:09:25
接触Hive,自然少不了它家的shell命令行模式,下面就来分析下,平常我们接触的这个脚本到底如何运行的。 研究的版本是 1.2.1.(先搭建好Hadoop环境) ---扩展阅读:有兴趣的看看别人写的 https://segmentfault.com/a/1190000002766035 1)下载Hive-1.2.1的二进制文件 http://archive.apache.org/dist/ 下面 2)解压缩 tar -zvxf apache-hive-1.2.1-bin.tar.gz 3)启动hive ./bin/hive 查看程序界面 4)定位入口函数 通过脚本跟踪,找到 cli () { CLASS=org.apache.hadoop.hive.cli.CliDriver execHiveCmd $CLASS "$@" } 看来主类就是 org.apache.hadoop.hive.cli.CliDriver ‍ execHiveCmd命令在/root/hive/apache-hive-1.2.1-bin/bin/ext/util下面 . 打印$CLASS的值 结论就是:org.apache.hadoop.hive.cli.CliDriver就是入口类。 http://www.iteblog.com/archives/864 --

Hadoop 2.6 + Hive 1.2.1 + spark-1.4.1(3)

限于喜欢 提交于 2019-12-04 06:36:45
1. 新建表 1) 新建表结构 create table user_table( id int, userid bigint, name string, describe string comment 'desc 表示用户的描述 ' ) comment ' 这是用户信息表 ' partitioned by(country string, city string) -- 建立分区,所谓的分区就是文件夹 clustered by (id) sorted by (userid) into 32 buckets // 通过 id 进行 hash 取值来分桶,桶类通过 userid 来排序排序 分桶便于有用数据加载到 有限的 内存中 (性能上的优化 ---- 还有 join,group by,distinct ) row format delimited -- 指定分隔符解析数据 fields terminated by '\001' -- 字段之间的分隔符 collection items terminated by '\002' -- array 字段内部的分隔符 map keys terminated by '\003' -- map 字段内部分隔符 // 用来分隔符解析数据( load 进去的原始数据, hive 是不会对它进行任何处理) stored as textfile; --