hive数据导出至本地文件,如何指定分隔符
2016-12-21 11:46
1131 查看
有时候需要将hive库中的部分数据导入至本地,这样子做可视化和小规模的数据挖掘实验都是比较方便的。数据导入至本地的HQL语法如下:
INSERT OVERWRITE [LOCAL] DIRECTORY directory1 select_statement1;
但是hive对字段分隔时默认使用的分隔符是^A,使用文本编辑器打开文件显示出来就是乱码,同时,后续提取字段值时需要指定这个特殊的分隔符,在python中使用line.split('\x01')来进行切分在java中split("\\u0001")来进行切分。网上看到的方案都是上述这种使用默认分隔符进行切分的,不管是数据查看还是程序调试,都不太方便。但是,既然hive支持在建表的时候指定字段分隔符,hive在数据导出时应该也支持的。HQL建表时指定分隔符的语法为:
CREATE TABLE u_data (
userid INT,
movieid INT,
rating INT,
unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';想必在数据导出时,应该可以ROW FORMAT DELIMITED FIELDS TERMINATED BY 的方式来指定我们自定义的分隔符。于是,实验了一把,结果如我所愿。用户指定分隔符来进行数据导出,比如我们会使用\t进行字段分割,那么HQL语法如下:
INSERT OVERWRITE [LOCAL] DIRECTORY directory1
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
select_statement1;
最后,只有在hive0.12及以上版本才支持该语法哦,hive0.12以下版本的,请自行探索吧。
INSERT OVERWRITE [LOCAL] DIRECTORY directory1 select_statement1;
但是hive对字段分隔时默认使用的分隔符是^A,使用文本编辑器打开文件显示出来就是乱码,同时,后续提取字段值时需要指定这个特殊的分隔符,在python中使用line.split('\x01')来进行切分在java中split("\\u0001")来进行切分。网上看到的方案都是上述这种使用默认分隔符进行切分的,不管是数据查看还是程序调试,都不太方便。但是,既然hive支持在建表的时候指定字段分隔符,hive在数据导出时应该也支持的。HQL建表时指定分隔符的语法为:
CREATE TABLE u_data (
userid INT,
movieid INT,
rating INT,
unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';想必在数据导出时,应该可以ROW FORMAT DELIMITED FIELDS TERMINATED BY 的方式来指定我们自定义的分隔符。于是,实验了一把,结果如我所愿。用户指定分隔符来进行数据导出,比如我们会使用\t进行字段分割,那么HQL语法如下:
INSERT OVERWRITE [LOCAL] DIRECTORY directory1
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
select_statement1;
最后,只有在hive0.12及以上版本才支持该语法哦,hive0.12以下版本的,请自行探索吧。
相关文章推荐
- hive的数据导入与数据导出:(本地,云hdfs,hbase),列分隔符的设置,以及hdfs上传给pig如何处理
- hive的数据导入与数据导出:(本地,云hdfs,hbase),列分隔符的设置,以及hdfs上传给pig如何处理
- 从数据库得到数据导出指定格式的xml文件,上传到NC接口,返回回执到本地一个xml文件(接上篇补充)
- Hive表中四种不同数据导出方式以及如何自定义导出列分隔符
- 从数据库得到数据导出指定格式的xml文件,上传到NC接口,返回回执到本地一个xml文件
- Hive表中四种不同数据导出方式以及如何自定义导出列分隔符
- HIVE表数据导出至本地文件系统
- Hive中将查询结果导出到指定分隔符的文件中
- Hive中将查询结果导出到指定分隔符的文件中
- 如何将SQL Server数据表中的数据按条件批量导出为多个Excel文件
- matlab中如何读取TXT数据文件中指定行的数据?
- MySQL 如何只导出 指定的表 的表结构和数据
- firefox addon - 开发firefox addon,如何将数据保存到本地文件中
- 将指定的表/视图中的数据导出为 html 文件
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- winform 导出数据到指定文件夹 excel格式 但是有重复的文件就报错
- 将指定的表/视图中的数据导出为 html 文件
- 将指定的表/视图中的数据导出为 html 文件
- 如何从文件中提取指定位置的数据????
- 用parfile文件在oracle中导出指定的表数据