使用Sqoop将数据从Hive导入MySQL(一)

芒果2年前技术文章1317


使用Sqoop将数据从Hive导入MySQL

首先查看csv数据类型

image.png

创建类似的hive表并导入数据
CREATE TABLE data (
    province STRING,
    code INT,
    city STRING,
    district STRING,
    year INT,
    model STRING,
    company STRING,
    brand STRING,
    type STRING,
    use_type STRING,
    seat_count INT,
    engine_no STRING,
    displacement DOUBLE,
    power DOUBLE,
    fuel_type STRING,
    total_weight DOUBLE,
    kerb_mass DOUBLE,
    max_mass DOUBLE,
    tire_size STRING,
    tire_count INT,
    length DOUBLE,
    width DOUBLE,
    height DOUBLE,
    note STRING,
    extra_company STRING,
    original_model STRING,
    production_company STRING,
    vehicle_type STRING,
    register_date INT,
    owner_sex STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;

549875BE-EFCB-48ED-A840-70062562EC0D.png

导入数据

LOAD DATA LOCAL INPATH '/opt/mg/cars.txt' INTO TABLE data;

92F63829-DAF8-4C7C-AA0B-E41623844AD9.png

查询下表数据
select * from data limit 10;

FF38ACCE-9448-41DC-A1C1-E0A2C5DF9F88.png


创建mysql相同的表
CREATE TABLE data (
    province VARCHAR(255),
    code INT,
    city VARCHAR(255),
    district VARCHAR(255),
    year INT,
    model VARCHAR(255),
    company VARCHAR(255),
    brand VARCHAR(255),
    type VARCHAR(255),
    use_type VARCHAR(255),
    seat_count INT,
    engine_no VARCHAR(255),
    displacement FLOAT,
    power FLOAT,
    fuel_type VARCHAR(255),
    total_weight FLOAT,
    kerb_mass FLOAT,
    max_mass FLOAT,
    tire_size VARCHAR(255),
    tire_count INT,
    length FLOAT,
    width FLOAT,
    height FLOAT,
    note VARCHAR(255),
    extra_company VARCHAR(255),
    original_model VARCHAR(255),
    production_company VARCHAR(255),
    vehicle_type VARCHAR(255),
    register_date INT,
    owner_sex VARCHAR(255)
);

03BA64FE-40AA-48D4-BB61-753F219AC4F4.png

Ps如果字段问题可以全写varchar不建议
CREATE TABLE data1 (
  `date` VARCHAR(255),
  hour VARCHAR(255),
  type VARCHAR(255),
  Dongsi VARCHAR(255),
  Tiantan VARCHAR(255),
  Guanyuan VARCHAR(255),
  Wanshouxigong VARCHAR(255),
  Aotizhongxin VARCHAR(255),
  Nongzhanguan VARCHAR(255),
  Wanliu VARCHAR(255),
  Beibuxinqu VARCHAR(255),
  Zhiwuyuan VARCHAR(255),
  Fengtaihuayuan VARCHAR(255),
  Yungang VARCHAR(255),
  Gucheng VARCHAR(255),
  Fangshan VARCHAR(255),
  Daxing VARCHAR(255),
  Yizhuang VARCHAR(255),
  Tongzhou VARCHAR(255),
  Shunyi VARCHAR(255),
  Changping VARCHAR(255),
  Mentougou VARCHAR(255),
  Pinggu VARCHAR(255),
  Huairou VARCHAR(255),
  Miyun VARCHAR(255),
  Yanqing VARCHAR(255),
  Dingling VARCHAR(255),
  Badaling VARCHAR(255),
  Miyunshuiku VARCHAR(255),
  Donggaocun VARCHAR(255),
  Yongledian VARCHAR(255),
  Yufa VARCHAR(255),
  Liulihe VARCHAR(255),
  Qianmen VARCHAR(255),
  Yongdingmennan VARCHAR(255),
  Xizhimennei VARCHAR(255),
  Nansanhuan VARCHAR(255),
  Dongsihuan VARCHAR(255)
);


执行sqoop命令从hive导入mysql

./sqoop export \
--connect jdbc:mysql://172.16.121.194:3306/test \
--username root \
--password 123456 \
--table data \
--export-dir /user/hive/warehouse/data \
--input-fields-terminated-by '\0001' \
--input-lines-terminated-by '\n' \
--null-string 'NULL' \
--null-non-string '\\N'

image.png

查看表数据
select * from data limit 10;

image.png


相关文章

mysql8 rpm安装教程

1:卸载原有REPO源查询已经存在的mysql及相关依赖包rpm -qa | grep mysql此时你会看到一堆列表,使用 yum 命令依次卸载yum remove mysql-xxx-xxx-xx...

ranger对接metastore

ranger对接metastore

前提:本文前提是基于集群中已经安装部署了ranger组件、hive组件的情况下,增加ranger metastore插件的对接。安装部署1、ranger metastore插件编译插件下载 https...

CDH实操--客户端安装

CDH实操--客户端安装

概述安装CDH客户端,主要是方便在CDH部署节点以外,通过客户端的方式连接CDH上的hdfs,hive和hbase服务1、安装jdk(适配CDH即可,一般1.8)2、获取安装包3、部署安装包把安装包解...

Mac安装Hadoop文档-保姆级操作(二)

Mac安装Hadoop文档-保姆级操作(二)

配置hadoop进入hadoop的目录:cd /opt/homebrew/Cellar/hadoop/3.3.6/libexec/etc/hadoop修改core-site.xml<config...

在经济低迷时管理云服务的策略!

近几年全球经济在疫情等各方面影响之下持续低迷,Wanclouds公司发布的一份研究报告指出,81%的美国IT领导者表示,他们的首席执行官要求他们减少或者不增加云计算支出。事实上,在那些被要求削减成本的...

chengying-6.0登入接口逆向

chengying-6.0登入接口逆向

版本更新首先是登入的加密url:http://172.16.121.70/login参数1. username:admin@dtstack.com2. password:614bb9438210c69...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。