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. excel导出工具类

    package com.jianwu.util.excel; import com.google.common.collect.Lists;import com.jianwu.exception.Mo ...

  2. 移动端:判断是否微信端、判断手机操作系统(ios或android)

    http://caibaojian.com/browser-ios-or-android.htmlfunction is_weixin() { var ua = window.navigator.us ...

  3. PIP源使用国内镜像

    对于Python开发用户来讲,PIP安装软件包是家常便饭.但国外的源下载速度实在太慢,浪费时间.而且经常出现下载后安装出错问题.所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成 ...

  4. Python全栈day26-27(面向对象进阶)

    参考 http://www.cnblogs.com/linhaifeng/articles/6204014.html 1,什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访 ...

  5. Java日志记录工具SLF4J介绍

    SLF4J是什么 SLF4J是一个包装类,典型的facade模式的工具,对用户呈现统一的操作方式,兼容各种主流的日志记录框架,典型的有log4j/jdk logging/nop/simple/jaka ...

  6. C# WinForm 只运行一次的MDI子窗体

    public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void ToolColle ...

  7. MyBatis generator 生成生成dao model mappper

    MyBatis GeneratorXML配置文件参考 在最常见的用例中,MyBatis Generator(MBG)由XML配置文件驱动. 配置文件告诉MBG: 如何连接到数据库 什么对象要生成,以及 ...

  8. Java 集合框架工具类

    Collections Arrays Collections 集合框架的工具类, 里面的方法都是静态的, 可以直接使用类名调用 常用方法 1. sort(List<T> list); // ...

  9. Python位运算符

    按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下: a = 0011 1100 b = 0000 1101 ---- ...

  10. ubuntu14 编译安装(升级)g++

    编译安装(升级)g++ ubuntu14自带的g++为4.8.4,不支持c++11.现要将g++升至5.2.0 1.下载安装: 参考https://www.cppfans.org/1719.html ...