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表的更多相关文章

  1. 使用 sqoop 将mysql数据导入到hive表(import)

    Sqoop将mysql数据导入到hive表中 先在mysql创建表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` varchar() ...

  2. 使用sqoop将mysql数据导入到hive中

    首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表 ...

  3. 使用sqoop把mysql数据导入hive

    使用sqoop把mysql数据导入hive export HADOOP_COMMON_HOME=/hadoop export HADOOP_MAPRED_HOME=/hadoop   cp /hive ...

  4. Sqoop将mysql数据导入hbase的血与泪

    Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天)  版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunsh ...

  5. 使用 sqoop 将mysql数据导入到hdfs(import)

    Sqoop 将mysql 数据导入到hdfs(import) 1.创建mysql表 CREATE TABLE `sqoop_test` ( `id` ) DEFAULT NULL, `name` va ...

  6. python脚本 用sqoop把mysql数据导入hive

    转:https://blog.csdn.net/wulantian/article/details/53064123 用python把mysql数据库的数据导入到hive中,该过程主要是通过pytho ...

  7. Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)

    一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...

  8. sqoop将mysql数据导入hbase、hive的常见异常处理

    原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10700700.html,否则将追究法律责任!!! 一.需求: 1.将以下这张表(test_ ...

  9. 使用sqoop将mysql数据导入到hadoop

    hadoop的安装配置这里就不讲了. Sqoop的安装也很简单. 完成sqoop的安装后,可以这样测试是否可以连接到mysql(注意:mysql的jar包要放到 SQOOP_HOME/lib 下): ...

随机推荐

  1. python之MySQL学习——数据查询

    import pymysql as ps # 打开数据库连接 db = ps.connect(host='localhost', user='root', password='123456', dat ...

  2. Visualizing wave interference using FireMonkey(很美)

      Visualizing wave interference using FireMonkey By: Anders Ohlsson Abstract: This article discusses ...

  3. 查找文件路径find

    查找文件路径find              1.按照文件名查找 (1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找 (2)find ...

  4. Java I/O(一) NIO概述

    基本概念 BIO:是堵塞I/O,无论是磁盘I/O,还是网络I/O,数据在写入OutputStream和InputStream都可能发生堵塞,一旦有堵塞,线程会失去CPU的使用权(堵塞). NIO:简单 ...

  5. (4.17)sql server中的uuid获取与使用

    sql server中的uuid  建表: 1.自增长 studentno int primary key identity(1,1)——bigint也是可以的 2.创建uuidcustomerid  ...

  6. sql server dba之路

    转自:https://blog.csdn.net/dba_huangzj/article/details/7841441 在专职DBA工作一年过一个月以后,开通了CSDN的博客专栏,在第一篇文章中,我 ...

  7. CKEditor的下载、配置与使用

    CKEditor简介: CKEditor 是一款功能强大的开源在线文本编辑器.它所见即所得的特点,使你在编辑时所看到的内容和格式,能够与发布后看到的效果完全一致.CKEditor 完全是基于 Java ...

  8. C#转义字符(好记性不如烂笔头)

    C#转义字符: ·一种特殊的字符常量:·以反斜线"\"开头,后跟一个或几个字符.·具有特定的含义,不同于字符原有的意义,故称“转义”字符.·主要用来表示那些用一般字符不便于表示的控 ...

  9. linux mkisofs(genisoimage)命令用法

    功能说明:建立ISO 9660映像文件. 常用命令:genisoimage -o imagename.iso file 语 法:mkisofs [-adDfhJlLNrRTvz][-print-siz ...

  10. ubuntu开启ROOT用户自动登录教程

    ub默认不开root很纠结,虽说是为了安全,但对于linux老鸟,老是sudo烦的很 开root方法: sudo passwd root 输入root密码 sudo gedit /etc/gdm/cu ...