Hive数据加载与保存
来源:互联网 发布:seo外包北京华网 编辑:程序博客网 时间:2024/06/05 04:29
使用 load 方式加载数据到 Hive 表中
- 加载本地文件到hive表
load data local inpath '/opt/datas/emp.txt' into table defalult.emp;
- 分区表:
load data local inpath 'local-file-full-path' into table tableName partition (part-column = part-value);
- 加载hdfs文件到hive表
load data inpath '/opt/datas/emp.txt' into table defalult.emp;
- 加载数据覆盖表中已有的数据
load data local inpath '/opt/datas/emp.txt' overwrite into table defalult.emp;
CTAS 通过子查询创建表,此时表中已经加载数据
CREATE TABLE emp_result ASSELECT empno, ename, deptno, salFROM( SELECT empno, ename, deptno, sal, ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY sal DESC) rank FROM db_emp.emp ) tWHERE t.rank <= 3 ;
通过insert插入,通常结合子查询使用
create table emp_insert like emp ;insert into table emp_insert select * from db_emp.emp ;
创建表时通过location指定加载
上传数据
dfs -mkdir -p /user/beifeng/tb_emp;dfs -put /opt/datas/emp.txt /user/beifeng/tb_emp/;
创建加载
create external table tb_emp(empno int,ename string,job string,mgr int,hiredate string,sal double,comm double,deptno int)row format delimited fields terminated by '\t'LOCATION '/user/beifeng/tb_emp/';
加载数据到分区表中
HDFS上创建目录和上传数据
bin/hdfs dfs -mkdir /user/hive/warehouse/db_emp.db/emp_part/date=20161112bin/hdfs dfs -put /opt/datas/emp.txt /user/hive/warehouse/db_emp.db/emp_part/date=20161112
但没有添加的date=20161112分区
因为在mysql中不存在
需要手动添加一步:alter table emp_part add partition(date = ‘20161112’) ;
这时可以看到分区了
在mysql中也可以看到- 非分区表创建及加载数据
bin/hdfs dfs -mkdir /user/hive/warehouse/db_emp.db/empbin/hdfs dfs -put /opt/datas/emp.txt /user/hive/warehouse/db_emp.db/emp
保存 HiveQL 查询结果
- 通过insert……directory 导出,表数据导出到本地文件
insert overwrite local directory '/opt/datas/hive_exp_emp' select * from emp;
- 表数据导出到本地文件,并指定分隔符
insert overwrite local directory '/opt/datas/hive_exp_emp2' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' COLLECTION ITEMS TERMINATED BY '\n' select * from emp;
- 采用Hive命令导出
bin/hive -e "select * from db_emp.emp;" > /opt/datas/exp_res.txt
- 数据导出到HDFS上
insert overwrite directory '/user/beifeng/hive/hive_exp_emp' select * from emp;
- sqoop
- 将RDBMS表的数据与HADOOP(HDFS\HIVE\HBASE)数据之间的导入导出
- export
EXPORT TABLE db_emp.emp TO '/user/beifeng/emp_export';
- import
IMPORT TABLE db_emp.emp FROM '/user/beifeng/emp_export';
0 0
- Hive数据加载与保存
- JSON数据保存与加载
- hive数据的加载与导出
- R语言-加载与保存数据
- hive数据加载
- hive加载数据
- hive字段重复保存数据异常,大表与大表关联造成的数据倾斜
- (7-11)hive加载数据
- Hive建表、加载数据模板
- Hive使用脚本加载数据
- Hive 建表 加载数据 查询
- 文件加载与保存
- Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)
- Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)
- HIVE 通过 MYSQL 保存元数据
- Spark加载和保存数据
- hive加载数据和导出数据
- 数据加密与保存
- Ubuntu Desktop 14 相关问题解决
- Git更新远程仓库代码到本地
- 文章标题
- barber
- Spring+Spring MVC+Mybatis+Maven搭建多模块项目(一)
- Hive数据加载与保存
- JavaScript 算术运算符和赋值运算符
- 线段树专题
- codeforces 719 C Efim and Strange Grade (模拟)
- CF--Technocup 2017 - Elimination Round 2(ABCDE)
- SQLite的.NET应用自适应32位/64位系统
- EchoServer设计到实现(一)
- usaco ★Humble Numbers 丑数
- Spring事务机制