1.insert 语法格式为:
基本的插入语法:
INSERT OVERWRITE TABLE tablename [PARTITON(partcol1=val1,partclo2=val2)]select_statement FROM from_statement
insert overwrite table test_insert select * from test_table;
对多个表进行插入操作:
FROM fromstatte
INSERT OVERWRITE TABLE tablename1 [PARTITON(partcol1=val1,partclo2=val2)]select_statement1
INSERT OVERWRITE TABLE tablename2 [PARTITON(partcol1=val1,partclo2=val2)]select_statement2
from test_table
insert overwrite table test_insert1
select key
insert overwrite table test_insert2
select value;
insert的时候,from子句即可以放在select 子句后面,也可以放在 insert子句前面。
hive不支持用insert语句一条一条的进行插入操作,也不支持update操作。数据是以load的方式加载到建立好的表中。数据一旦导入就不可以修改。
2.通过查询将数据保存到filesystem
INSERT OVERWRITE [LOCAL] DIRECTORY directory SELECT.... FROM .....
                                                                                                                                                                                                          导入数据到本地目录:
insert overwrite local directory '/home/zhangxin/hive' select * from test_insert1;
产生的文件会覆盖指定目录中的其他文件,即将目录中已经存在的文件进行删除。
导出数据到HDFS中:
insert overwrite directory '/user/zhangxin/export_test' select value from test_table;
同一个查询结果可以同时插入到多个表或者多个目录中:
from test_insert1
insert overwrite local directory '/home/zhangxin/hive' select *
insert overwrite directory '/user/zhangxin/export_test' select value;
 
在hive中将结果输出到本地目录下: 
hive> INSERT OVERWRITE LOCAL DIRECTORY '/home/hadoop/result' > SELECT * FROM table_name 

查看结果的时候,发现各个字段都连接在一起,如下

[hadoop@hadoop-24 result]$ more 000000_0 1331903227197_846612012-04-09 1331903230484_756522012-04-09 1331903233859_134242012-04-09 1331903251469_712512012-04-09 1331903253640_325962012-04-09 

后来人工加上了分割符“空格”,从视觉上感觉好多了,但是,在实际运算的时候,发现输出文件中实际上已经有分割符了,只是视觉上看不出来罢了。

但是,分隔符和各自的文件/系统的编码设置有关系。在我们的系统上,间隔符为'\x01’,直接用split(‘\x01’)就可以了。

No matter what the table format, INSERT OVERWRITE LOCAL DIRECTORY will always use ctrl-A delimiters ('\001' ) 
所以 你可以根据‘\001’来分隔 目前似乎还不支持类似于: INSERT OVERWRITE LOCAL DIRECTORY '/tmp/reg_81' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * FROM testTable ; 

Hive输出文件的间隔符相关推荐

  1. Hive小文件问题:如何产生、造成影响、解放办法

    一.小文件是如何产生的 1.动态分区插入数据,产生大量的小文件,从而导致map数量剧增. 2.reduce数量越多,小文件也越多(reduce的个数和输出文件是对应的). 3.数据源本身就包含大量的小 ...

  2. SparkSql 控制输出文件数量且大小均匀(distribute by rand())

    @羲凡--只为了更好的活着 SparkSql 控制输出文件数量且大小均匀(distribute by rand()) Q:Spark如何控制文件你输出数量? A:这个简单,用 coalesce或者re ...

  3. hive小文件处理方法

    方法一 hive方法处理 set hive.merge.mapfiles=true; -- map only job 结束是合并小文件 set hive.merge.mapredfiles=true; ...

  4. hive小文件过多问题解决方法

    小文件产生原因 hive 中的小文件肯定是向 hive 表中导入数据时产生,所以先看下向 hive 中导入数据的几种方式 直接向表中插入数据 insert into table A values (1 ...

  5. hive 小文件过多解决方案

    目录 一.小文件产生原因 二.小文件过多产生的影响 三.怎么解决小文件过多 1. 使用 hive 自带的 concatenate 命令,自动合并小文件 2. 调整参数减少Map数量 3. 减少Redu ...

  6. hive小文件过多问题解决

    起因 数据中台当前有一张流水类表,存在3200个分区,230w个数据文件,150亿条数据,导致该表查询起来及其麻烦,更令人糟心的是,业务人员不懂查询方式,经常有人使用select *的方式查询该表,导 ...

  7. 10分钟掌握Hive小文件过多如何解决?

    写在前面 在做数据仓库的时候,使用动态分区会产生许多的小文件,给计算资源造成较大的影响,所以本文针对小文件如何规避计算资源浪费作了一些设计 为什么要处理小文件: 1.从Hive在进行mapreduce ...

  8. 有效解决hive小文件过多问题

    小文件产生原因 hive 中的小文件肯定是向 hive 表中导入数据时产生,所以先看下向 hive 中导入数据的几种方式 直接向表中插入数据 insert into table A values (1 ...

  9. 主题:CS0016: 未能写入输出文件“c:#92;WINDOWS#92;Microsoft.NET#92;***.dll”错误处理...

    刚装完.NET环境,在编译时出现了如下错误: 编译器错误信息:CS0016:   未能写入输出文件"c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ ...

最新文章

  1. 动画库NineOldAndroids
  2. python好学嘛-Python对于没有计算机基础知识的人来说,好学吗?
  3. Python: generator, yield, yield from 详解
  4. Nginx+Tomcat集群与负载均衡
  5. android 开发 矩形截屏插件,Android 上如何实现矩形区域截屏
  6. C语言及程序设计提高例程-21 首尝排序——冒个泡
  7. python办公室应用_Python干货:玩转办公室软件(一)PP还能这样玩!
  8. python写透视挂_python opencv 透视变换
  9. www.12306.cn是安抚群众心灵的吧?
  10. MATLAB注释快捷键、绘图选项
  11. spark 部署方式
  12. mysql休假管理系统_课内资源 - 基于JSP和MYSQL数据库实现的请假管理系统
  13. 全志F1c100s主线linux入坑记录 (4)GT911触摸移植
  14. 数据治理——主数据项目实施
  15. QT框架下的OpenGL使用---实战篇---鼠标选取点对象
  16. 带宽、流量限制软件之Netlimiter Pro中文使用教程
  17. 使用conda管理python环境
  18. 【Faster R-CNN论文精度系列】从Faster R-CNN源码中,我们“学习”到了什么?
  19. bzoj 2959: 长跑(LCT+并查集)
  20. leetcode:Permutations1+2nbsp;+nbsp;Rotat…

热门文章

  1. Finder教程|如何自定义访达工具栏?
  2. win10 系统不显示机械硬盘(装在光驱位置)
  3. Springboot宠物医院系统
  4. 鸢尾花分类算法——机器学习笔记
  5. 今日头条启动很快,你觉得可能是做了哪些优化?
  6. .NET周报【11月第4期 2022-11-30】
  7. nginx+uwsgi+django1.9+mysql+python2.7部署到CentOS6.5
  8. 分享:制作属于自己的O'REILLY“动物书”封面
  9. Vue + Element UI 实现权限管理系统 前端篇(六):更换皮肤主题
  10. AI——三(路径、画笔)