「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战」
大家好,我是怀瑾握瑜,一只大数据萌新,家有两只吞金兽,嘉与嘉,上能code下能teach的全能奶爸
如果您喜欢我的文章,可以[关注⭐]+[点赞👍]+[评论📃],您的三连是我前进的动力,期待与您共同成长~
PS.注意,改方法已经在hdp3.x中不支持使用,所以这里不详细说明
基础语法如下:
1 | sql复制代码LOAD DATA LOCAL INPATH "path" [OVERWRITE] INTO TABLE tablename; |
通过指定本地路径(服务器)直接导入到表中
1 | lua复制代码load data local inpath '/home/hdfs/a.txt' into table temp |
2.1 创建好数据表
1 | sql复制代码CREATE EXTERNAL TABLE if not exists xxx_temp( |
该表的含义是数据内容使用逗号“,”分隔,存储类型为默认的文本格式
2.2 准备好要导入数据的文件
1 | 复制代码1,2 |
注意,如果你的数据是通过一定渠道导出的(比如yanagishima),可能第一行是字段,注意去掉,要不也会一并导入
2.3 上传文件到hdfs上
1 | shell复制代码# hadoop fs -put a.txt /tempData/ |
2.4 连接hive并且导入数据到表
1 | sql复制代码hive> load data inpath '/tempData/a.txt' into table xxx_temp; |
与本地文件的导入方式相比,只是把关键字“local”去掉
注意文件必须要放到hdfs上面,并且hdfs用户有访问权限
如果是一些静态表,或者只是想数据进行迁移,可以把原始数据从hdfs上下载下来,然后再新的表里重新上传
1 | bash复制代码# hadoop fs -ls /warehouse/tablespace/external/hive/xx.db/xxx_temp |
如果插入数据的表是分区表,注意文件导入后刷新分区
1 | css复制代码hive> msck repair table xxx_temp_new; |
结束语
如果您喜欢我的文章,可以[关注⭐]+[点赞👍]+[评论📃],您的三连是我前进的动力,期待与您共同成长~
可关注公众号【怀瑾握瑜的嘉与嘉】,获取资源下载方式
本文转载自: 掘金