转载:https://blog.csdn.net/qq_26442553/article/details/80380590

转载:https://blog.csdn.net/weixin_43681796/article/details/106537339

https://blog.csdn.net/hao495430759/article/details/80529456

1、load data 导入数据到hive中

1.将本地数据文件导入到hive非分区表中,如下文件可以是个目录,会导入目录中所有的文件

load data local inpath '/home/robot/'

overwrite into table fdm_sor.personinfo

2.将本地数据文件导入到hive分区表中

load data local inpath '/home/robot/'

overwrite into table fdm_sor.personinfo

partition(country='china',city='nanjing')

注意文件格式需要跟建表时指定的一致

3、如果文件是在hdfs里的,去掉local即可

注意:

1.inpath里只要填目录即可,不用具体到文件,会加载目录下所有问题,但该目录下不能再有子目录,否则报错。

2.overwrite 可以不加,加的话会将表中所有数据覆盖掉(分区表只覆盖当前分区数据),into talbe 将数据追加到表中。

3.into talbe 如果表里数据已经存在了,会再次到导入,底层文件存储会给同文件名加序列号然后存储。

3.将分布式文件系统上的数据导入的hive中,比如讲hdfs上数据导入到hive中

load data inpath '/user/robot/'

overwrite into table fdm_sor.personinfo

注意:去掉local,则默认的路径是分布式文件系统上的路径,如hdfs上的路径。

2、从本地

2、通过查询insert ....select的形式往hive中导入数据

1.通过查询将数据覆盖导入的分区表中(或者用into追加结果,往动态分区表中插入数据,请参考本系列其他博客。)

insert overwrite table fdm_sor.personinfo

partition(statis_date='${staits_date}'

select a.id,a.name,b.address

from person a left join address b

on a.id = b.id

2.多次插入,从一张表中读数据,下面这种方式效率最高,只需要扫描一次表即可。注意中间没有分号;

from T_DEDUCT_SIGN_D_external t

insert into table t1

select 123 ,sign_no string,null

insert into table t2

select 345 ,null ,bp_no string

insert into table t3

select 678 ,sign_no string,bp_no string

where t.statis_date = '20180101';

可能出现的错误以及解决

问题:

记录一次Hive导入数据找不到文件的错误

load data local inpath '/data/test/ftp/test.txt' into table test;

FAILED: SemanticException Line 1:23 Invalid path ''/data/test/ftp/test.txt'': No files matching path file:/data/test/ftp/test.txt

报错找不到文件,确定当前机器确实存在这个文件。

环境:实存在这个文件。在Hive的cli端执行load语句,加载测试文件;Hive版本2.3.7,Hadoop版本2.x

When using the JDBC driver, the command executes on the HiveServer2 side. The file is evaluated to locally exist on the server, which is not true in your case (it exists on the local client program machine).

Try instead to load the file to HDFS first, and use a HDFS URI in the LOAD DATA statement to make the server find it.

从上面的解释可知, hive导入数据语句  load data [local] inpath ,是一个服务器端的指令,它是在服务器端执行。因此指定local时表明加载的文件为本地文件,但是这里的local,在hive中指的是 hiveserver 服务所在的机器,而不是hivecli 或 beeline客户端所在的机器(生产环境大都是 hiveserver 和 hivecli不在同一个机器)。

问题解决:

1)将文件上传到metastore服务端,在metastore服务端进行操作

将文件上传到metastore服务端

scp /data/test/ftp/test.txt node003:/data/test/ftp/

登陆metastore服务端

ssh node003

登陆beeline后执行load语句

beeline -u jdbc:hive2://node003:10000 -n root

load data local inpath '/data/test/ftp/test.txt' into table test;

查询结果

select * from test;

2)将文件上传到hdfs,通过load进行加载

重新打开一个shell窗口,上产物文件到HDFS

hdfs dfs -put /data/test/ftp/test.txt /data/test/RAW/

在已经登陆beeline的窗口加载数据

load data inpath '/data/test/RAW/test.txt' into table test;

查看结果

select * from test;

存在的hive插入数据_往hive表中插入数据以及导出数据相关推荐

  1. mysql插入表情_向MySQL数据库中插入带emoji表情符的数据时报错

    问题:向MySQL数据库中插入带emoji表情符的数据时报错 原因:utf8字符集不支持emoji表情符,需要改为utf8mb4字符集(utf8mb4是MySQL在5.5.3之后增加的,实际开发中建议 ...

  2. mysql表中插中文报错_向mysql表中插入含有中文的数据时报错:[Err] 1366

    创建的表及插入语句如下: create table students (name varchar(25), class varchar(25), grade int); insert into stu ...

  3. ai中如何插入签名_怎么将CAD中插入图片的多余部分抠掉?如何设置透明效果?...

    下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: CAD安装卸载  异常.退出  文件及输入输出  基本操作技巧  各种设置及相关问题  界面和显示相关问题  快捷键  视图设置和调整   ...

  4. ai中如何插入签名_如何在PDF中插入一个或多个空白页?

    在编辑或修改PDF文档时,一般都需要新增空白页后再添加文本或图片等内容,那么如何在PDF中插入一个或多个空白页呢? 首先打开极速PDF编辑器,或打开需要编辑的PDF文档后,点击右上角"文档& ...

  5. ai中如何插入签名_如何在Word中插入特殊符号

    在写文档的过程中,时常需要用到一些特殊的符号,比如货币符号.形状符号等,那你知道这些符号如何添加吗? 1.货币符号怎么添加? 常常会输入一些货币符号,比如说¥.$.£等,那你一般是如何输入的?在哪里可 ...

  6. mysql怎么插入时间_如何在MySQL中插入日期?

    在MySQL中插入日期的方法:首先打开脚本文件:然后通过[INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE() ...

  7. word中如何插入 符号_如何在Word中插入版权或商标符号

    word中如何插入 符号 You can easily insert hundreds of symbols into your Word document with a few nimble key ...

  8. python存储大量数据_如何在文件中密集地存储大量数据?

    如果你期望存储一个均匀分布的数字,那么看看疯狂的物理学家的答案.但是,如果您预期存储的大部分是小数字,但需要能够存储一些大的数字,那么这些方案可能也很有用.在 如果只需要考虑长度为255字节或更少字节 ...

  9. cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中

    本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...

最新文章

  1. IOS入门-TargetAction
  2. 爬虫--pyquery使用
  3. SylixOS内核打印调试方法
  4. php header调试,yii2打log
  5. 配置文件值注入 ||导入配置文件处理器,以后编写配置就有提示
  6. 我会说我喜欢创业嘛?(每个月总有几天会更新…………标题一定要长)
  7. 算法题目——质量(POJ-1862)
  8. Skype For Business 2015实战系列14:创建Office Web App服务器场
  9. 将MYSQL查询导出到文件
  10. 服务器设置客户端网页安装,网页服务器和客户端
  11. railscasts #1 Caching with Instance Variables
  12. docker 监控之 cadvisor
  13. LINUX SHELL 中if的使用
  14. java 区位码转中文_国标码、区位码、机内码之间的转换关系
  15. 2019年11月中华人民共和国县以上行政区划代码(用于身份证前六位判断户籍所在地)
  16. PFC离散元仿真核心技术与应用
  17. win10LTSC(企业版)命令激活
  18. 华硕X370 Pro更新BIOS后黑屏自救记录
  19. 中国象棋AI在线对弈游戏源码
  20. 前端-埋点-理念-通识-浅谈

热门文章

  1. 手机居然可以变成电脑的无线麦克风?快来瞧瞧
  2. 在小程序中使用iconfont
  3. python热度评价指标_文本相似性热度统计方案(python版)
  4. python 雷达图像识别_Python 新一代多普勒天气雷达基数据可视化
  5. PMC于浪潮互联网峰会展示领先存储解决方案
  6. SpringBoot实现发送QQ邮箱验证码
  7. 平台接口权益分享源码
  8. Funcode-Q版泡泡堂
  9. QQ新上线图片社交功能“小世界”
  10. 详解 Java 常用的四种锁机制优缺点