[一起学Hive]之七-向Hive表中加载数据
来源:互联网 发布:js如何验证手机号码 编辑:程序博客网 时间:2024/05/18 01:01
文章同步自 [ lxw的大数据田地 ]
在Hive中建好表之后,需要将数据加载进来,以便做后续查询分析,本文介绍向Hive表中加载数据的几种方式。
6.1 建表时候直接指定
如果你的数据已经在HDFS上存在,已经为结构化数据,并且数据所在的HDFS路径不需要维护,那么可以直接在建表的时候使用location指定数据所在的HDFS路径即可。
比如:
CREATE [EXTERNAL] TABLE t_lxw1234 (day STRING,url STRING)ROW FORMAT DELIMITEDFIELDS TERMINATED BY ' 'stored as textfilelocation '/tmp/lxw1234/';
这里内部表和外部表都可以指定,但需要注意,如果是内部表,那么在DROP该表的时候,同时会将LOCATION所指定的目录一起删除。
6.2 从本地文件系统或者HDFS的一个目录中加载
如果数据在本地,或者HDFS的某一个目录下,需要加载到目标中或分区中,那么使用LOAD DATA命令即可加载数据:
- 加载本地文件
LOAD DATA LOCAL INPATH ‘/home/lxw1234/t_lxw1234/’
INTO TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’);
- 加载HDFS文件
LOAD DATA INPATH ‘/user/lxw1234/t_lxw1234/’
INTO TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’);
6.3 从一个子查询中加载数据
这个比较简单,就是将一个查询结果插入到目标表或分区中:
INSERT overwrite TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’)
SELECT day,url from source_table;
6.4 导出Hive中的数据到文件系统
这里也介绍一下从Hive中导出数据到文件系统(HDFS和本地文件系统)。
语法为:
INSERT OVERWRITE [LOCAL] DIRECTORY directory1[ROW FORMAT row_format] [STORED AS file_format]SELECT ... FROM ...
如果指定了LOCAL关键字,则为导出到本地文件系统,否则,导出到HDFS。
使用ROW FORMAT关键字可以指定导出的文件分隔符,比如:
INSERT OVERWRITE LOCAL DIRECTORY '/tmp/lxw1234/'ROW FORMAT DELIMITED FIELDS TERMINATED BY ','SELECT * FROM t_lxw1234;
该语句将t_lxw1234表的所有数据导出到本地文件系统/tmp/lxw1234/目录,字段间的分隔符为逗号。
cat /tmp/lxw1234/000000_0
2015-05-10,url1
2015-05-10,url2
2015-06-14,url1
2015-06-14,url2
2015-06-15,url1
2015-06-15,url2
更多关于Hive数据加载和导出的介绍,请参考官方文档:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables
Hive相关文章(持续更新):
一起学Hive系列
—-Hive概述,Hive是什么
—-Hive函数大全-完整版
—-Hive中的数据库(Database)和表(Table)
—-Hive的安装配置
—-Hive的视图和分区
—-Hive的动态分区
Hive分析函数系列
Hive索引
hive优化之——控制hive任务中的map数和reduce数
- [一起学Hive]之七-向Hive表中加载数据
- [一起学Hive]之七-向Hive表中加载数据
- [一起学Hive]之七-向Hive表中加载数据
- [一起学Hive]之十七-从Hive表中进行数据抽样-Sampling
- [一起学Hive]之十-Hive中Join的原理和机制
- [一起学Hive]之十一-Hive中Join的类型和用法
- [一起学Hive]之十-Hive中Join的原理和机制
- [一起学Hive]之十一-Hive中Join的类型和用法
- [一起学Hive]之十-Hive中Join的原理和机制
- [一起学Hive]之二–Hive函数大全-完整版
- [一起学Hive]之四-Hive的安装配置
- [一起学Hive]之五-Hive的视图和分区
- [一起学Hive]之六-Hive的动态分区
- [一起学Hive]之八-使用Hive命令行
- [一起学Hive]之九-Hive的查询语句SELECT
- [一起学Hive]之二–Hive函数大全-完整版
- [一起学Hive]之四-Hive的安装配置
- [一起学Hive]之五-Hive的视图和分区
- [一起学Hive]之六-Hive的动态分区
- iOS开发之打包上传到App Store——(三)申请证书并且发布应用程序到App Store
- Android中运行sh脚本提示找不到文件或路径(no such file or directories)
- Quartz的cron表达式
- 【动态规划】【多重背包】[HDU 1291]悼念512汶川大地震遇难同胞――珍惜现在,感恩生活
- [一起学Hive]之七-向Hive表中加载数据
- 对于return new A();
- UICollectionViewController简单操作
- sgu-264. Travel
- Color the ball(树状数组之插点问线问题)
- 算法准备
- c语言中通过指针将数值赋值到制定内存地址
- delphi 控件 combobox常识
- 深入理解HTTP Session