Sqoop-将MySQL数据导入到hive orc表
sqoop创建并导入数据到hive orc表
sqoop import \
--connect jdbc:mysql://localhost:3306/spider \
--username root --password 1234qwer \
--table org_ic_track --driver com.mysql.jdbc.Driver \
--create-hcatalog-table \
--hcatalog-database spider_tmp \
--hcatalog-table org_ic_track \
--hcatalog-partition-keys batch \
--hcatalog-partition-values \
--hcatalog-storage-stanza 'stored as orc tblproperties ("orc.compress"="SNAPPY")' \
-m
查看表结构
CREATE TABLE `org_ic_track`(
`id` int,
`info_id` int,
`company` varchar(),
`company_url` varchar(),
`invest_date` varchar(),
`invested_company` varchar(),
`invested_ratio` varchar(),
`update_time` string)
PARTITIONED BY (
`batch` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
LOCATION
'hdfs://hadoop1:8020/home/hive/warehouse/spider_tmp.db/org_ic_track'
TBLPROPERTIES (
'orc.compress'='SNAPPY',
'transient_lastDdlTime'='')
sqoop导入数据到已存在的hive orc表
sqoop import \
--connect jdbc:mysql://localhost:3306/spider \
--username root --password 1234qwer \
--table org_ic_track --driver com.mysql.jdbc.Driver \
--hcatalog-database spider_tmp \
--hcatalog-table org_ic_track \
--hcatalog-partition-keys batch \
--hcatalog-partition-values \
-m
sqoop导入数据(query)到已存在的hive orc表
sqoop import \
--connect jdbc:mysql://localhost:3306/spider \
--username root --password 1234qwer \
--query "select * from org_ic_track where update_time between '2019-04-01 21:16:04' and '2019-04-01 21:16:05' and \$CONDITIONS" \
--driver com.mysql.jdbc.Driver \
--hcatalog-database spider_tmp \
--hcatalog-table org_ic_track \
--hcatalog-partition-keys batch \
--hcatalog-partition-values \
-m
字段说明
connect JDBC连接信息
username JDBC验证用户名
password JDBC验证密码
table 要导入的源表名
driver 指定JDBC驱动
create-hcatalog-table 指定需要创建表,若不指定则默认不创建,注意若指定创建的表已存在将会报错
hcatalog-database 目标库
hcatalog-table 目标表名
hcatalog-storage-stanza 指定存储格式,该参数值会拼接到create table的命令中。默认:stored as rcfile
hcatalog-partition-keys 指定分区字段,多个字段请用逗号隔开(hive-partition-key的加强版)
hcatalog-partition-values 指定分区值,多分区值请用逗号隔开(hive-partition-value的加强)
注:若不指定字段类型,MySQL中的varchar数据抽取至hive中也会是varchar类型,但是varchar类型在hive中操作会出现各种问题
1.抽取时长文本、含有特殊字符的文本抽取不全
2.hive操作orc表varchar类型的字段造成乱码
解决:抽取数据时指定字段类型
-map-column-hive company=String,company_url=String
Sqoop-将MySQL数据导入到hive orc表的更多相关文章
- 使用 sqoop 将mysql数据导入到hive表(import)
Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...
- 使用sqoop将mysql数据导入到hive中
首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表 ...
- 使用sqoop把mysql数据导入hive
使用sqoop把mysql数据导入hive export HADOOP_COMMON_HOME=/hadoop export HADOOP_MAPRED_HOME=/hadoop cp /hive ...
- Sqoop将mysql数据导入hbase的血与泪
Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天) 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunsh ...
- 使用 sqoop 将mysql数据导入到hdfs(import)
Sqoop 将mysql 数据导入到hdfs(import) 1.创建mysql表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` va ...
- python脚本 用sqoop把mysql数据导入hive
转:https://blog.csdn.net/wulantian/article/details/53064123 用python把mysql数据库的数据导入到hive中,该过程主要是通过pytho ...
- Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)
一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...
- sqoop将mysql数据导入hbase、hive的常见异常处理
原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10700700.html,否则将追究法律责任!!! 一.需求: 1.将以下这张表(test_ ...
- 使用sqoop将mysql数据导入到hadoop
hadoop的安装配置这里就不讲了. Sqoop的安装也很简单. 完成sqoop的安装后,可以这样测试是否可以连接到mysql(注意:mysql的jar包要放到 SQOOP_HOME/lib 下): ...
随机推荐
- 【BZOJ4260】Codechef REBXOR Trie树+贪心
[BZOJ4260]Codechef REBXOR Description Input 输入数据的第一行包含一个整数N,表示数组中的元素个数. 第二行包含N个整数A1,A2,…,AN. Output ...
- iOS UITableView划动删除的实现
标签:划动删除 iphone 滑动删除 ios UITableView 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://rainb ...
- 因为td设置relative导致td的border问题
在ff下因为td设置relative导致td的border问题:其实是个老问题了~碰到了拿出来记录下 td 中添加如下样式 background-clip: padding-box
- textarea 换行
这个是可以多行展示的Texat也就是DW设计模式下的多行 /*华丽的分割线==================================*/ 当你点击单行时你发现此时的标签换成了value=&q ...
- sql---如何把sql查询出来的结果当做另一个sql的条件查询,1、语句2、with as
'; -- table2 的 name 作为 table1的条件 select * from table1 where name in (select name from table2) --如果有多 ...
- [NSUserDefaults]的使用:登陆后不再显示登录界面。
简介: NSUserDefaults是IOS应用用来存储用户偏好和配置信息的途径,就像是一个数据库,但是它通过键值对(key-value)的方式存储. 比如["Thematrix" ...
- showslow / YSlow for PhantomJS/slimerjs(gecko)/phantomas
http://yslow.org/phantomjs/ http://www.bstester.com/2015/12/front-end-performance-using-jenkinsphant ...
- 3*0.1 == 0.3 将会返回什么?true 还是 false?
false,因为有些浮点数不能完全精确的表示出来 public static void main(String[] args) { System.out.println(3 * 0.1); Syste ...
- JMH 性能测试框架
参考 1 Java 并发编程笔记:JMH 性能测试框架 http://blog.dyngr.com/blog/2016/10/29/introduction-of-jmh/ 2 Code Samp ...
- 解决putty自动断开的问题
解决putty自动断开的问题 putty窗口上右键>change settings.打开后如下,修改seconds of keepalives,让putty每隔若干秒发送心跳包