数据导入

● 本地文件导入

-- 本地文件导入(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数据导入与导出的更多相关文章

  1. 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上

    阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...

  2. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

  3. Hive数据导入导出的几种方式

    一,Hive数据导入的几种方式 首先列出讲述下面几种导入方式的数据和hive表. 导入: 本地文件导入到Hive表: Hive表导入到Hive表; HDFS文件导入到Hive表; 创建表的过程中从其他 ...

  4. sqoop用法之mysql与hive数据导入导出

    目录 一. Sqoop介绍 二. Mysql 数据导入到 Hive 三. Hive数据导入到Mysql 四. mysql数据增量导入hive 1. 基于递增列Append导入 1). 创建hive表 ...

  5. KUDU数据导入尝试一:TextFile数据导入Hive,Hive数据导入KUDU

    背景 SQLSERVER数据库中单表数据几十亿,分区方案也已经无法查询出结果.故:采用导出功能,导出数据到Text文本(文本>40G)中. 因上原因,所以本次的实验样本为:[数据量:61w条,文 ...

  6. 数据分析(7):pandas介绍和数据导入和导出

    前言 Numpy Numpy是科学计算的基础包,对数组级的运算支持较好 pandas pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数.pandas兼具Numpy高性能的数组计 ...

  7. Nebula Exchange 工具 Hive 数据导入的踩坑之旅

    摘要:本文由社区用户 xrfinbj 贡献,主要介绍 Exchange 工具从 Hive 数仓导入数据到 Nebula Graph 的流程及相关的注意事项. 1 背景 公司内部有使用图数据库的场景,内 ...

  8. 从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下

    阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephis ...

  9. Hive 实战(1)--hive数据导入/导出基础

    前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...

  10. 数据仓库Hive数据导入导出

    Hive库数据导入导出 1.新建表data hive (ebank)> create table data(id int,name string) > ROW FORMAT DELIMIT ...

随机推荐

  1. 当ChatGPT遇上了CoT

    最近在看CoT(Chain-of-Thought,思维链)方面的论文<Chain-of-Thought Prompting Elicits Reasoning in Large Language ...

  2. 为R Markdown配置TinyTex编译环境

    技术背景 在前面一篇博客中,我们介绍了一些关于在Windows系统上安装R Studio来编写R Markdown,最后编译成Beamer的演示文档的过程.而在Windows系统的使用过程中发现,编译 ...

  3. 【C/C++】知识点笔记

    1 - 联合体内嵌结构体初始化赋值 union { struct { int i; float f; char *p; }; int o; } obj3 = { 1, 2.2, "sk&qu ...

  4. 【MicroPython】用 c 添加接口 -- 框架介绍

    [来源]https://www.eemaker.com/micropython-c-kuangjia.html

  5. 0xGame 2023【WEEK2】Crypto全解

    中间的那个人 题目信息 from secret import flag from Crypto.Util.number import * from Crypto.Cipher import AES f ...

  6. phpcms: Warning: "continue" targeting switch is equivalent to "break" 解决方案

    Warning: "continue" targeting switch is equivalent to "break". Did you mean to u ...

  7. [转帖]查看oracle中表的索引

    oracle中表的索引信息存在 user_indexes 和 user_ind_columns 两张表里面,其中 user_indexes 系统视图存放是索引的名称以及该索引是否是唯一索引等信息, u ...

  8. [转帖]KingbaseES 服务器运行参数分类

    https://www.cnblogs.com/kingbase/p/16969149.html Kingbase 服务器运行参数分类 说明: KingbaseES 数据库中,服务器运行参数分为多种类 ...

  9. 【转帖】eBay 流量管理之 Kubernetes 网络硬核排查案例

    https://www.infoq.cn/article/L4vyfdyvHYM5EV8d3CdD 一.引子 在 eBay 新一代基于 Kubernetes 的云平台 Tess 环境中,流量管理的实现 ...

  10. 【网络流,dp】Gym102220A Apple Business

    Problem Link 有一棵 \(n\) 个点的完全二叉树(点 \(i\) 的父亲是 \(\lfloor i/2\rfloor\)),第 \(i\) 个点有 \(a_i\) 个苹果.现在有 \(m ...