热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqoop导入导出hive/oracle

版本:sqoop1最新版用户指导:http:archive.cloudera.comcdh5cdh5sqoop-1.4.6-cdh5.9.3SqoopUserGuide.html1

版本:sqoop导入导出hive/oracle

sqoop1最新版用户指导:http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.9.3/SqoopUserGuide.html

1.sqoop从关系型数据库oracle导数据到hive,数据存储为parquet格式。

首先,在hive中建表,按月增量存储的建分区表。存储为parquet文件格式而不是默认的textfile是为了便于在impala中访问数据。

create table if not exists table_name(columns  string/double/ , ..)
comment  "备注"
partition by (month string) 
 row format delimited
fields terminated by '\t'
lines terminated by '\n'
stroed as parquet;

用sqoop导数据到hive分区表,Sqoop 1.4.6 导入实战参考示例  http://www.sohu.com/a/149043703_572440

  sqoop import \
--connect jdbc:oracle:thin:@IP:DATABASE\
--username USERNAME\
--password -P\
--table 大写表名 \
--columns "多列逗号隔开,不留空格" \
--where "过滤条件" \
--hcatalog-database 数据库 \
--hcatalog-table hive表\
--hcatalog-partition-keys 分区字段\
--hcatalog-partition-values 分区值 \
--fields-terminated-by '\t' \
--lines-terminated-by '\n' \
--split-by '切片字段'  \
--as-parquetfile -m 3

分区表无法实现覆盖导入,非分区表可考虑覆盖导入的方式

sqoop job --create job名 \
-- import \
--connect jdbc:oracle:thin:@ip:1521:数据库 \
--username username\
--password -P\
--hive-import \
 --query "SELECT 多列, \
多列 \
FROM pec.sku_no where "过滤条件 AND \$CONDITIONS" \
--fields-terminated-by '\t' \
--lines-terminated-by '\n' \
--as-parquetfile \
--hive-overwrite \
--hive-database hive数据库\
--hive-table hive表名\
--delete-target-dir \
--target-dir /hive/warehouse/hive数据库.db/hive表名 \
--map-column-java "部分需要转换类型的列" \
--split-by 切片字段" \
-m 1 \
--fetch-size 5000

 

hive中检查数据导入是否成功。

熟悉这些语句后可建批处理脚本,简化批量操作:

 

 

2.qoop export工具被用来将文件集合从HDFS中导入到关系型数据库中。从hive导数据到oracle数据库(exports a set of files from HDFS back to an RDBMS)参考示例 https://blog.csdn.net/waterkong/article/details/78708809

第一步:将hive表数据转到hdfs文件系统,已存储在HDFS文件系统的不用再处理。

查询hive表所在文件系统路径:show create table table_name;

第二部:sqoop导出到oracle数据库,目标表必须事先已经在数据库中创建好。注意parquet格式的hive表无法导出到关系型数据库,通过“--hcatalog-database 数据库 --hcatalog-table hive表 "参数指定数据库及表的方式据说可以实现,目前没有测试通,可以试试。

全表导出

 

增量导出


推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 这篇文章主要介绍了Python拼接字符串的七种方式,包括使用%、format()、join()、f-string等方法。每种方法都有其特点和限制,通过本文的介绍可以帮助读者更好地理解和运用字符串拼接的技巧。 ... [详细]
author-avatar
莫莫2602891683
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有