hdfs目录创建hive表
2015-12-28 18:34
399 查看
简介
步骤
总结
完成上面操作后,这时候从hive中就能读取到添加的分区数据,当然如果是lzo文件的话,还需要修改FileFormat,详见上篇文章
在操作过程中,发现了一些提高工作效率的方法。比如批量生成lzo的索引方式(详见上篇文章)。
步骤
总结
简介
针对已经存放在hdfs上的文件,创建hive表。这里推荐创建外表,因为hive外表被删除,对应目录的数据不会被清除。步骤
step1. 根据hdfs的数据字段,创建hive表。 CREATE EXTERNAL TABLE if not exists push_log( ip STRING COMMENT 'IP Address of the User', imei STRING, gameid STRING, channelid STRING, lan STRING 'language', country STRING COMMENT 'country of origination', mac STRING, ver STRING, phonetype STRING, sver STRING, tver STRING, plmn STRING) COMMENT 'This is the staging push log table' PARTITIONED BY (hostid STRING, dayid STRING) **# 指定分区** ROW FORMAT DELIMITED FIELDS TERMINATED BY '\001' STORED AS TEXTFILE LOCATION '/user/data/push';
若该表有分区,则在创建时指定分区,这点很重要。 虽然创建了分区,分区里面也有数据,但是这时候hive表依然不能识别分区数据。还需要添加分区操作
step2. 添加分区(更贴切说,应该是指定分区) alter table push_log add partition(hostid='$hostid', dayid='$dayid') location '/user/data/push/$hostid/$dayid';
完成上面操作后,这时候从hive中就能读取到添加的分区数据,当然如果是lzo文件的话,还需要修改FileFormat,详见上篇文章
总结
若有任何问题和建议,可以留言讨论。在操作过程中,发现了一些提高工作效率的方法。比如批量生成lzo的索引方式(详见上篇文章)。
相关文章推荐
- HDFS升级和回滚机制
- HDFS的特性和目标
- 使用webhdfs
- [Hive]使用HDFS文件夹数据创建Hive表分区
- Hadoop集群_WordCount运行详解
- Spark将HDFS数据导入到HBase
- HDFS中block块大小设置问题
- hadoop2.7.1不重启,动态删除节点和新增节点
- Using the command line to manage files on HDFS--转载
- FilesystemReader输出HDFS上的文件内容
- HDFS学习笔记之<技巧>
- 递归打印出HDFS上的所有文件夹
- 格式化HDFS
- 在Hadoop集群环境中为MySQL安装配置Sqoop的教程
- 在Hadoop集群环境中为MySQL安装配置Sqoop的教程
- hdfs dfs
- 【解决】HDFS HA无法自动切换问题
- Hdfs增量导入小文件合并的思路
- Hdfs增量导入小文件合并的思路
- Hdfs增量导入小文件合并的思路