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 ...
随机推荐
- macOX常用快捷键(结尾有彩蛋)
macOX的快捷键与windows10有所不同,了解了以后会更加提高我们的工作效率. Mac中主要有四个修饰键,分别是Command,Control,Option和Shift. 一.基本的快捷键: C ...
- kubernetes 资源管理概述
本文转载自 Cizixs 的博客 kubernetes 资源管理概述 kubernetes 资源简介 什么是资源? 在 kubernetes 中,有两个基础但是非常重要的概念:node 和 pod.n ...
- 15-Verilog Coding Style
Verilog Coding Style 1.为什么需要Coding Style 可综合性 - 代码需要综合成网表,如果写了一些不可综合的代码,会出现错误 可读性,代码通常有多个版本,所以需要保证代码 ...
- CDC设计实例-02
CDC设计实例 加速器 假设要处理一项业务比如图像处理,有两种方向,第一种选择一些通用的处理器CPU\GPU\DSP等通用的处理器,第二种是将算法映射成IP,直接使用IP进行处理图像处理等专门的业务就 ...
- [转帖]针对容器的nginx优化
针对容器的nginx优化 本篇文章介绍了 Nginx 在容器内使用遇到的CPU核数获取问题以及对应的解决方法. 回顾上篇文章:TCP 半连接队列和全连接队列 背景 容器技术越来越普遍,很多公司已经将容 ...
- [转帖]Windows自带硬盘测试工具使用教程
本教程主要讲解Windows自带的硬盘测试工具的使用,不用再安装第三方软件了.到底准不准就不知道啦,下面我们来看看如何使用吧~ 1. 进入cmd 快速进入cmd 主要如果进入后,使用命令直接闪退,就是 ...
- Systemd设置ulimit的方式与方法
Systemd设置ulimit的方式与方法 摘要 Linux安装完成之后前面几件事情一般是处理selinux 以及处理ulimit 其实处理文件打开数有多种方法,之前也总结过, 但是最近因为syste ...
- Mysql localhost 无法登录 root用户的处理过程
问题说明: 前段时间同事修改密码, 但是发现修改了密码之后,外面可以连接root用户, 但是本地无法连接了. 怀疑是密码修改存在问题,需要重新进行处理 这里进行简单的描述. 问题现象 使用 mysql ...
- pytest.ini配置文件
pytest.ini文件是pytest框架独有的配置文件,主要作用就是在运行pytest.main时可指定运行顺序,也 就相当于在Terminal输入pytest+参数+路径效果一致,下面介绍几种简单 ...
- 【解决了一个小问题】vm-select中的`search.maxUniqueTimeseries`参数比vm-storage中的参数更大导致的问题
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 为了让vm查询更大的数据范围,修改了vm-select的参 ...