数据蛙数据分析基础学习hive

sqoop学习(概念、目标、导入)(一)

2020-04-18  本文已影响0人  Gaafung峰

前言

image.png

个人目前理解:
sqoop作用就是可以在mysql与hive之间相互抽取、导入。

扩大理解就是 关系型数据库(Mysql、Oracle)等 与 Hadoop(HDFS、Hive、Hbase)之间的桥梁工具。

那么为什么要用hadoop呢?
原因是:

操作实例

操作流程如下:
hive中创建adventure_ods_hjf从mysql抽取dim_date_df表到hive当中

1、hive创建adventure_ods_hjf表
进入hive当中,输入以下命令

create database adventure_ods_hjf;

2、查看sqoop的使用方式
在linux的命令行当中(不用进入hive)

sqoop help
image.png

对应翻译:

Available commands: (可用命令)
  codegen            Generate code to interact with database records 
  (协同)              (生成代码以与数据库记录进行交互)
  create-hive-table  Import a table definition into Hive
  (创建hive表)         (将表定义导入到Hive中)
  eval               Evaluate a SQL statement and display the results
  (计算)             (计算一个SQL语句并显示结果)
  export             Export an HDFS directory to a database table
  (导出)              (将HDFS目录导出到数据库表)
  help               List available commands
  (帮助)              (罗列可用命令)
  import             Import a table from a database to HDFS
  (导入)              (从数据库中导入表到HDFS)
  import-all-tables  Import tables from a database to HDFS
  (导入全部表)         (从数据库中导入多表到HDFS)
  import-mainframe   Import datasets from a mainframe server to HDFS
  (导入主机)          (从大型机服务器导入数据集到HDFS)
  job                Work with saved jobs
  (任务)              (处理已存储任务)
  list-databases     List available databases on a server
  (罗列数据库)         (罗列服务器可用的数据库)
  list-tables        List available tables in a database
  (罗列表)             (罗列数据库中可用的表)
  merge              Merge results of incremental imports
  (合并)              (增量导入的合并结果)
  metastore          Run a standalone Sqoop metastore
  (元存储)             (运行独立的Sqoop元存储)
  version            Display version information
  (版本)              (展现版本信息)

参考命令链接:
https://www.cnblogs.com/alexzhang92/p/10927884.html

尝试查看版本


image.png

尝试导入mysql的以下数据dim_date_df


image.png
sqoop import \
-connect jdbc:mysql://106.15.121.xxx:3306/datafrog05_adventure \
-username frogdata05 -password xxxxdata'!'123 \
-table dim_date_df \
-hive-import \
-hive-table adventure_ods_hjf.dim_date_df \
-m 1

实际应该一行进行

sqoop import -connect jdbc:mysql://106.15.121.xxx:3306/datafrog05_adventure -username frogdata05 -password xxxdata'!'123 -table dim_date_df -hive-import -hive-table adventure_ods_hjf.dim_date_df -m 1

稍微解释一下:
sqoop import是调用sqoop的导入
-connect jdbc:mysql…… 连接mysql,需要ip/端口号/数据库
-username-password是mysql的账号密码,需要注意,如果是特殊字符如 !,需要用'!'处理
-table table_name table_name专指mysql的表名
-hive-import 导入hive
-hive-table xxx.xxx导入到hive中 数据库.数据表(不用建表操作)
-m 1 迁移使用1个进程

检查一下是否导入成功

hive
show databases;
use adventure_ods_hjf;
show tables;
select * from dim_date_df;
image.png

导入成功!

上一篇下一篇

猜你喜欢

热点阅读