有时候需要将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以下版本的,请自行探索吧。

原文链接: https://blog.csdn.net/zbc1090549839/article/details/53782367
 
 

hive 导出数据到本地的更多相关文章

  1. hive导出数据到本地文件报错解决方法

    报错信息: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to move so ...

  2. Windows sql语句正则匹配导出数据到本地 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

    尝试使用 into outfile导出数据的时候出现错误: The MySQL server is running with the --secure-file-priv option so it c ...

  3. 从hive导出数据到mysql

    在使用过程中可能遇到的问题: sqoop依赖zookeeper,所以必须配置ZOOKEEPER_HOME到环境变量中. sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-C ...

  4. hive 导出数据的几种方式

    1.使用insert导出 这种方式的优点在于既可以导出到hdfs上还可以导出到本地目录 下面以导出emp表中数据为例 insert overwrite local directory "/o ...

  5. hive将数据导致本地磁盘

    hive -e "select * from wyp" >> local/wyp.txt   其中我更喜欢弄好临时表,然后交互式查询时让相关人员自己去按逻辑处理数据,最 ...

  6. GRID方式ALV导出数据到本地丢掉最后一位的问题

    这是SAP的一个Bug,FM方式ALV Grid和Class ALV Grid都会出现,但是ALV List好像没有这个BUG.   在以下几个条件满足的时候就会出现这个问题: 1.字段对应的域Con ...

  7. sql server导出数据,本地数据库远程连接不上,怎样设置防火墙(自用)

    控制面板——>系统安全——>windows防火墙——>高级设置 新建入站规则: 将一下两个应用 允许入站: D:\Program Files (x86)\Microsoft SQL ...

  8. hive的数据导出方式

    hive有三种导出数据的方式 >导出数据到本地 >导出数据到hdfs >导出数据到另一个表   导出数据到本地文件系统 insert overwrite local director ...

  9. Hive导入导出数据的方法

    Hive导入数据的方式 官网文档: LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (p ...

随机推荐

  1. python之MySQL学习——数据查询

    import pymysql as ps # 打开数据库连接 db = ps.connect(host='localhost', user='root', password='123456', dat ...

  2. <2014 05 14> Android平台下2D/3D开发攻略

    Android通过OpenGL包含了对高性能2D和3D图形的支持,尤其支持OpenGLES API.OpenGL是一个跨平台的图形API,提供了软件操作3D图形硬件的接口.OpenGLES是一个专用于 ...

  3. JDK源代码学习系列05----LinkedList

                                             JDK源代码学习系列05----LinkedList 1.LinkedList简单介绍 LinkedList是基于双向 ...

  4. (转)java类到底是如何加载并初始化的?

    Java虚拟机如何把编译好的.class文件加载到虚拟机里面?加载之后如何初始化类?静态类变量和实例类变量的初始化过程是否相同,分别是如何初始化的呢?这篇文章就 是解决上面3个问题的. 若有不正之处, ...

  5. python中math常用函数

    python中math的使用 import math #先导入math包 1 三角函数 print math.pi #打印pi的值 3.14159265359 print math.radians(1 ...

  6. js颜色选择器 制作分析

    给html元素设置事件监听, 触发事件 弹出颜色选择器 颜色选择器绘制 获取上次选择的颜色(当前颜色) 绘制渐变色板(canvas) (方法: 横轴渐变ff0000, ffff00, 00ff00, ...

  7. cdoj1337郭大侠与阴阳家

    地址:http://acm.uestc.edu.cn/#/problem/show/1337 思路: 郭大侠与阴阳家 Time Limit: 3000/4000MS (Java/Others)     ...

  8. mybatis 复习笔记01

    本文内容转自传智播客笔记 1. 问题总结  1). 数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接池管理数据库连 ...

  9. shiro的过滤器

    shiro的过滤器也是不多的我们可以自定义的方法,它的继承体系如下: 另外UserFilter是继承于AccessControlFilter 1.NameableFilter NameableFilt ...

  10. Django- 反向生成url

    Django中提供了一个关于URL的映射的解决方案, 1.客户端的浏览器发起一个url请求,Django根据URL解析,把url中的参数捕获,调用相应的试图,获取相应的数据,然后返回给客户端显示 2. ...