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

芒果4个月前技术文章123


使用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


相关文章

CDH时钟同步问题

CDH时钟同步问题

首先执行如下命令:查看chronyd是否启动systemctl status chronyd如果没启动执行如下命令启动systemctl restart chronyd每台检查时间状态chronyc...

Debezium抽取SQL Server同步kafka

Debezium抽取SQL Server同步kafka

ebezium SQL Server连接器捕获SQL Server数据库模式中发生的行级更改。官方2.0文档:https://debezium.io/documentation/reference/2...

EMR-flinksql运行失败问题

EMR-flinksql运行失败问题

运行flinksqlsql-client.sh报错:[root@emr1 bin]# ./sql-client.shSLF4J: Class path contains multiple SLF4J...

chengying-6.0登入接口逆向

chengying-6.0登入接口逆向

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

Jenkinsfile说明

Jenkinsfile说明

当我们在使用jenkins进行CI/CD的时候,简单的内容我们可以通过jenkins页面来实现配置。但是如果有复杂的需求还是需要通过jenkinsfile来实现jenkinsfile简单介绍Jenki...

nginx配置反向代理某个url

nginx配置反向代理某个url

本文讲的这个漏洞 主要是为了解决漏洞扫描的问题我先介绍下这个漏洞主要是因为访问https://172.16.120.17:18090/ws/v1/cluster/info这个 yarn rest的一个...

发表评论    

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