sqoop导出orc数据至mysql_Sqoop 支持 ORC 文件格式
ORC 介绍
ORC 文件格式是 Hive 0.11.0 版本引入的一种文件格式。ORC 的引入是为了解决其他 Hive 文件格式的局限性。使用 ORC 文件格式提升 Hive 读取、写入及处理数据的性能。
与 RCFile 对比,ORC 文件格式有很多优点:每个 Task 只输出一个文件,降低 NameNode 的负载。
Hive 数据类型支持,包括:datetime、decimal 以及复杂数据类型(struct、list、map、union)。
文件中存储轻量级的索引:跳过不通过谓语过滤的行组
跳转到指定的行
基于数据类型的块模式压缩:整型数据列采用行程长度编码(run-length encoding)
字符串数据列采用词典编码(dictionary encoding)
使用独立的 RecordReader 并发读取相同的文件
无需扫描 markers 就可以分割文件的能力
绑定读写需要的内存量
Sqoop 支持 ORC
通过 Sqoop-HCatalog 集成解决 Sqoop 不支持 ORC 的问题。
HCatalog 背景HCatalog 是 Hadoop 的一个 table 与存储管理的一个服务,用户可以更容易地使用不同的数据处理工具 Pig、MapReduce 和 Hive 读写数据。HCatalog 表的抽象呈现给用户一个 HDFS 分布式文件系统(HDFS)中的关系视图,用户不需要担心数据存储在哪里及数据的存储格式:RCFile 格式、text 文件、或者 SequenceFile。
HCatalog 支持读写任何实现了 Hive SerDe(serializer-deserializer)的文件格式。默认的,HCatalog 支持 RCFile、CSV、JSON 和 SequenceFile。要使用用户自定义格式,必须提供 InputFormat 和 OutputFormat 及 SerDe。
Sqoop 使用 HCatalog 抽象不同存储格式的能力来支持 RCFile(以及未来的文件类型)。
集成 HCatalog 后新增的参数见 Sqoop 官方文档:http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_sqoop_hcatalog_integration
定制 Sqoop 改造修改 bin/sqoop 命令脚本:为 import 操作增加 Hive Table 分区数据删除逻辑,在执行导入前不需要另行清理数据,从而简化 Sqoop import 脚本的开发工作。
Sqoop 导入 ORC 实例
第一步:创建 Hive 表CREATE TABLE `dev.bims_device`(
`code` string,
`mac` string,
`wifi_mac` string,
`create_date` string,
`activate_date` string,
`state` string,
`area_id` bigint,
`city_id` bigint,
`sp_define_id` bigint)
PARTITIONED BY (
`dt` string)
stored as orc;
第二步:Sqoop importsqoop import
--hcatalog-database dev
--hcatalog-table bims_device
--hcatalog-partition-keys dt
--hcatalog-partition-values ${dt}
--connect jdbc:mysql://${host}:${port}/bims
--username "${userName}"
--password "${password}"
--table bims_device
--columns "code,mac,wifi_mac,create_date,activate_date,state,area_id,city_id,sp_define_id"
Sqoop 导出 ORC 实例
第一步:创建 MySQL 数据表CREATE TABLE `test`.`bims_device`(
`code` varchar(50),
`mac` varchar(50),
`wifi_mac` varchar(50),
`create_date` varchar(50),
`activate_date` varchar(50),
`state` varchar(50),
`area_id` bigint,
`city_id` bigint,
`sp_define_id` bigint);
第二步:Sqoop exportsqoop export
--hcatalog-database dev
--hcatalog-table bims_device
--hcatalog-partition-keys dt
--hcatalog-partition-values ${dt}
--connect jdbc:mysql://${host}:${port}/test?useCompression=true
--username ${userName}
--password ${password}
--table bims_device
注意事项- MySQL 表字段名称必须与 Hive 仓库中的表字段名称一致
- Sqoop ORC 导出时,数据类型需要转换时如果存在脏数据会导致导出失败。例如,长度为 0 的 String 如果导出为 int 时。
- 导出时需要提前清理 MySQL 中之前导出的数据,避免重复运行时造成数据重复。
sqoop导出orc数据至mysql_Sqoop 支持 ORC 文件格式相关推荐
- SQOOP 导出Hive数据到MySQL
基本知识: Sqoop导出的基本用法:https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_syntax_4 的10. sqoop-exp ...
- sqoop将hbase数据导入mysql_Sqoop将mysql数据导入hbase的血与泪
Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天) 版权声明:本文为yunshuxueyuan原创文章. 如需转载请标明出处: https://my.oschina.net/yunsh ...
- 使用sqoop导出mysql数据时错误处理【com.mysql.jdbc.RowDataDynami】
故障现象 在HDP sandbox中使用sqoop导出mysql数据报错 18/06/24 07:03:31 INFO manager.MySQLManager: Preparing to use a ...
- sqoop 导出hive数据到MySQL数据库当中
常用命令: 查看hive中表的结构: desc table_name; 查看hive中表的详细结构:desc formatted table_name; 我们想要将hive表中的数据导出到MySQL当 ...
- sqoop导出solr数据_Apache Atlas - 强大的元数据管理工具
构建和安装Apache Atlas 构建Apache Atlas 下载 Apache Atlas 1.0.0 发行版源码, apache-atlas-1.0.0-sources.tar.gz, 从 d ...
- mysql hbase 同步_HBase 简介和使用 Sqoop 同步 Mysql 数据到 HBase
HBase 数据模型 Namespace: 命名空间 类似于关系型数据库中的 database schema Table: 表 一个 Namespace 下有多个表,一个表可以包含多个行 Row: 行 ...
- python etl工具 sqoop hive_python脚本 用sqoop把mysql数据导入hive
转:https://blog.csdn.net/wulantian/article/details/53064123 用python把mysql数据库的数据导入到hive中,该过程主要是通过pytho ...
- 如何完美解决Sqoop导入导出MySQL数据错位问题
我发现小伙伴们在使用Sqoop把数据从MySQL导入到Hive的过程中经常会遇到数据错位的问题,虽然最后都是通过添加参数的方法来解决这个问题,但是我认为这并不是一个完美的解决方案,所以花了一点时间研究 ...
- Z05 - 044、Sqoop 导出 - 导出 HDFS 数据到 MySQL
初学耗时:0.5h 注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端. 一.Sqoop 导出 - 导出 HDFS 数据到 mysql 记忆词: 导出 HDFS 数据到 My ...
最新文章
- 如何用 React Native 创建一个iOS APP?(二)
- linux的ulimit各种限制之深入分析
- 《分布式操作系统》知识点(8~14)二
- html编辑器kindeditor我的使用方法 (转载)
- [转]Linux下的Makefile
- android ipc简单理解,Android IPC 机制【1】--简介
- c语言转义字符_C语言啊中的转义符有什么含义?
- HTML5 获得canvas油漆环境
- a人工智能b大数据c云计算_你清楚5G物联网、大数据、云计算、人工智能之间的关联吗?...
- [转]鼠标移到图像上显示激活的例子
- java中的subString与SQL中的subString(作为常识应该记住的)
- MLFlow︱机器学习工作流框架:介绍(一)
- iOS 仿微信朋友圈实现
- ffmpeg mp4转mov
- oracle查询某天的数据
- Hybird A*算法
- 地球币earthcoin表情包征图大赛正式筹备准备中
- 【linux】循序渐进学运维-基础篇-文件的软硬链接
- 1 Java语言概述
- mPOS安全提升之路
热门文章
- [work] Jacobian矩阵和Hessian矩阵
- 视觉追踪热图帮Instagram被吐槽新l
- HTML_插入图片详解
- 怎么实现接口解耦_将接口与实现解耦-使用分离的接口
- hacker_从在Hacker News上展示我的作品中学到了什么
- vidaa4基于android,Vidaa 4系统:流畅且富有人性化_海信 LED55MU8600UC_液晶电视评测-中关村在线...
- 项目管理:项目控制的三个基本原则
- 2017华为实习生招聘面试经历(IT应用软件 c++)
- 计算机xp重装无声音怎么办,我的电脑重装WindowsXP后没有声音怎么办??
- 找出3的最大倍数的整数集合