Hive数据导入与导出
数据导入
● 本地文件导入
-- 本地文件导入(local)
LOAD DATA local INPATH '/home/hadoop/sourceA.txt' INTO TABLE testA PARTITION(create_time='2015-07-08');
● HDFS文件导入
-- HDFS文件导入(非local)
LOAD DATA INPATH '/home/hadoop/sourceA.txt' INTO TABLE testA PARTITION(create_time='2015-07-08');
● 表数据导入
-- 从表数据导入
INSERT INTO TABLE testA PARTITION(create_time='2015-07-11') select id, name, area from testB where id = 1;
● 创建表的时候导入
-- 创建表的时候导入
create table testC as select name, code from testB;
数据导出
● 数据导出到本地
-- 导出到本地
INSERT OVERWRITE LOCAL DIRECTORY '/opt/data/zj/output' ROW FORMAT DELIMITED FIELDS TERMINATED by '\t' select * from testA;
● 数据导出到HDFS文件系统
-- 导出到HDFS
INSERT OVERWRITE DIRECTORY '/home/hadoop/output' select * from testA;
Sqoop完成hive数据导入与导出
数据导入
# 数据需要先迁移到HDFS,然后再加载到Hive表中
/opt/module/sqoop-1.4.6/bin/sqoop import \
-Dmapreduce.job.queuename=hive \
--connect "jdbc:mysql://shendu-data003:3306/sddw?useUnicode=true&characterEncoding=utf-8" \
--username root \
--password dizewei \
--driver com.mysql.jdbc.Driver \
--target-dir /sddw_origin_data/db/ods_main_acceptance_info/ \
--delete-target-dir \
--query "select * from acceptance where 1 = 1 and \$CONDITIONS" \
--num-mappers 1 \
--hive-drop-import-delims \
--fields-terminated-by '\t' \
--null-string '\\N' \
--null-non-string '\\N'
# hive中执行加载语句
load data inpath '/sddw_origin_data/db/ods_main_acceptance_info' OVERWRITE into table sddw.ods_main_acceptance_info;
MySQL数据全表字段导入
# 数据直接迁移到Hive中,如果表不存在则会自动按照Mysql字段信息进行创建
/opt/module/sqoop-1.4.6/bin/sqoop import \
--connect "jdbc:mysql://shendu-data003:3306/sddw?useUnicode=true&characterEncoding=utf-8" \
--username root \
--password dizewei \
--driver com.mysql.jdbc.Driver \
--table acceptance \
--fields-terminated-by '\t' \
--delete-target-dir \
--num-mappers 1 \
--hive-import \
--hive-database sddw \
--hive-table ods_main_acceptance_info \
--null-string '\\N' \
--null-non-string '\\N'
数据导出
/opt/module/sqoop-1.4.6/bin/sqoop export \
-Dmapreduce.job.queuename=hive \
--connect "jdbc:mysql://shendu-data003:3306/sddw?useUnicode=true&characterEncoding=utf-8" \
--username root \
--password dizewei \
--table ads_first_order_count \
--export-dir /sddw/ads/ads_first_order_count \ # 指定hive数据存储位置
--input-fields-terminated-by '\t' \
--num-mappers 1 \
--input-null-string '\\N' \
--input-null-non-string '\\N'
# 导入带有自增长ID序列的数据表
/opt/module/sqoop-1.4.6/bin/sqoop export \
-Dmapreduce.job.queuename=hive \
--connect "jdbc:mysql://106.13.27.33:3306/nightwatch?useUnicode=true&characterEncoding=utf-8" \
--username root \
--password Houkai17245 \
--table order_info \
--export-dir /sddw/ads/ads_seller_order_info_month \
--input-fields-terminated-by '\t' \
--num-mappers 1 \
--input-null-string '\\N' \
--input-null-non-string '\\N' \
--columns "code,order_time,amount,projectName,payerName,create_time,company_id"
注意:
Sqoop数据迁移的时候,会发现一些Null值得问题,在Mysql底层null值得存储为“NULL”或者“null”,但是在Hive中存储格式为“/N”,使用如下命令可以解决这个问题:
--input-null-string '\\N' \
--input-null-non-string '\\N'
Hive数据导入与导出的更多相关文章
- 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上
阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...
- 利用sqoop将hive数据导入导出数据到mysql
一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令 # sqoop list-databases --connect jdbc:mysql://localhost:3306 ...
- Hive数据导入导出的几种方式
一,Hive数据导入的几种方式 首先列出讲述下面几种导入方式的数据和hive表. 导入: 本地文件导入到Hive表: Hive表导入到Hive表; HDFS文件导入到Hive表; 创建表的过程中从其他 ...
- sqoop用法之mysql与hive数据导入导出
目录 一. Sqoop介绍 二. Mysql 数据导入到 Hive 三. Hive数据导入到Mysql 四. mysql数据增量导入hive 1. 基于递增列Append导入 1). 创建hive表 ...
- KUDU数据导入尝试一:TextFile数据导入Hive,Hive数据导入KUDU
背景 SQLSERVER数据库中单表数据几十亿,分区方案也已经无法查询出结果.故:采用导出功能,导出数据到Text文本(文本>40G)中. 因上原因,所以本次的实验样本为:[数据量:61w条,文 ...
- 数据分析(7):pandas介绍和数据导入和导出
前言 Numpy Numpy是科学计算的基础包,对数组级的运算支持较好 pandas pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数.pandas兼具Numpy高性能的数组计 ...
- Nebula Exchange 工具 Hive 数据导入的踩坑之旅
摘要:本文由社区用户 xrfinbj 贡献,主要介绍 Exchange 工具从 Hive 数仓导入数据到 Nebula Graph 的流程及相关的注意事项. 1 背景 公司内部有使用图数据库的场景,内 ...
- 从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下
阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephis ...
- Hive 实战(1)--hive数据导入/导出基础
前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...
- 数据仓库Hive数据导入导出
Hive库数据导入导出 1.新建表data hive (ebank)> create table data(id int,name string) > ROW FORMAT DELIMIT ...
随机推荐
- P2241
这么多年不写代码,竟然忘了longlong这茬,我半天没想明白错在哪里,过了好久才反应过来.浪费不少时间,真的得记住longlong 啊.... Code #include <iostream& ...
- 公共号码池redis实现方案
概述 在企业级呼叫模型中,号码资源总是有限的,企业员工在使用有限的号码资源外呼时,就会有号码冲突的问题,如何解决多人共用少量号码的选号问题? 最近有一个新的业务需求,需要解决公共号码池的选号问题,号码 ...
- Blazor的技术优点
Blazor是一种使用.NET和C#构建客户端Web应用程序的新兴技术.它允许开发者在浏览器中直接运行.NET代码,而无需依赖JavaScript.Blazor的技术优点主要表现在以下几个方面: 单一 ...
- Verdi基础-01
Verdi使用目标 生成fsdb波形 查看fsdb波形 追踪RTL代码 目录 Verdi历史 生成fsdb波形 三个变量&&三个命令 变量PATH LD_LIBRARY_PATH so ...
- [转帖]记录一则enq: TX - row lock contention的分析过程
https://www.cnblogs.com/jyzhao/p/8628184.html 故障描述:与客户沟通,初步确认故障范围大概是在上午的8:30-10:30之间,反应故障现象是Tomcat的连 ...
- [转帖]火狐URL默认打开为HTTPS,切换成http形式
火狐在当前及未来版本默认URL采用HTTPS进行链接,但个人习惯,某些网站不是https,改http在响应超时状态也会切成https,将默认为http. edge,chrome 依然还是http为主要 ...
- [转帖]TiDB 统计数据库占用大小的N种方法
TiDB之路2022-03-06 3896 前言 TiDB 如何统计数据库占用空间大小 四种方法 方法一 TiDB 统计数据库占用大小的第一种方法是监控.通过查看 {cluster-name} - O ...
- [转帖]七. PostgreSQL逻辑结构(1)—数据库和模式
https://www.jianshu.com/p/ee8b1bdfdb19 在PostgreSQL里,逻辑结构从高到底依次是:数据库.模式(又叫架构).表.行.当我们打开PostgreSQL官方自带 ...
- vue中diff算法处理新旧节点的流程
vue中diff算法处理新旧节点的流程 patch函数的作用 function patch(oldVnode: VNode | Element, vnode: VNode): VNode { let ...
- js数组修改后会互相影响
// 假设httpServe 是服务器返回来的数据 // 我们这里有一个需求, // 某一个区域需要对这一份数据进行展示 // 另一个区域需要只需要展示前1条数据 let httpServe = [ ...