加载中…
个人资料
enjoydata
enjoydata
  • 博客等级:
  • 博客积分:0
  • 博客访问:395,396
  • 关注人气:29
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

HIVE数据插入

(2015-03-30 10:06:18)
标签:

a

hdfs

hive

本地

导出

分类: Hadoop
最近在用hive算数据,数据的输出结果要存放到hdfs上,但是,不能建表格。所以通常大家使用的语法:
insert into table table_name,这个方法就不可以用了
介绍两种数据导出的方式:
1,导出到本地:

  
hive> insert overwrite local directory '/home/wyp/wyp'
    > select * from wyp;

  这条HQL的执行需要启用Mapreduce完成,运行完这条语句之后,将会在本地文件系统的/home/wyp/wyp目录下生成文件,这个文件是Reduce产生的结果(这里生成的文件名是000000_0)

2,导出到hdfs:


hive> insert overwrite directory '/home/wyp/hdfs'
    > select * from wyp;

将会在HDFS的/home/wyp/hdfs目录下保存导出来的数据。注意,和导出文件到本地文件系统的HQL少一个local,数据的存放路径就不一样了。

我还遇到了一个问题,就是导出的数据分隔符,在vi的模式下看到是“^A”,在用python处理的时候,不知道使用什么分隔符,后来google之后,确认,这个的分隔符是"\001",即s.split('\001')就可以顺利的把数据分割出来啦啦

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
前一篇:[转]BM算法
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

    < 前一篇[转]BM算法
      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有