美文网首页数据蛙数据分析基础学习hive
sqoop学习(概念、目标、导入)(一)

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

作者: Gaafung峰 | 来源:发表于2020-04-18 19:16 被阅读0次

前言

image.png

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

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

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

  • 1、有价值数据通常存储在关系型数据库当中,但是需要进行聚合、计算等操作等加工才能被使用。
  • 2、实际业务场景在关系型数据库是不做这些计算操作,因为会影响业务数据存储或其他抽取需求。
  • 3、所以部分数据就通过sqoop抽取到hive中做运算,通过MapReduce程序进行再次加工(MapReduce涉及到sqoop的运算原理)

操作实例

操作流程如下:
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

导入成功!

相关文章

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

    前言 个人目前理解:sqoop作用就是可以在mysql与hive之间相互抽取、导入。 扩大理解就是 关系型数据库(...

  • 尚硅谷大数据技术之Sqoop

    第4章 Sqoop的简单使用案例4.1 导入数据在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数...

  • Sqoop简单使用案例

    一.导入数据 在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBA...

  • 2.3sqoop只导入部分数据

    Apache Sqoop Cookbook 英文版-翻译学习!! Sqoop 主要命令 问题 不是导入整张表,需要...

  • sqoop export 数据覆盖更新

    一、Sqoop export简介Sqoop export工具被用来将文件集合从HDFS中导入到关系型数据库中。目标...

  • Sqoop的简单使用案例

    导入数据 在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE...

  • 导入数据

    4.1、导入数据在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HB...

  • sqoop数据导入导出应用案例

    sqoop数据导入导出应用案例 1 sqoop导入数据 将RDBMS中的一个表数据导入到hdfs。表中的每一行被视...

  • Sqoop导入

  • 大数据开源技术

    从数据库导入 目前比较常用的数据库导入工具有Sqoop和Canal。Sqoop是一个数据库批量导入导出工具,可以将...

网友评论

    本文标题:sqoop学习(概念、目标、导入)(一)

    本文链接:https://www.haomeiwen.com/subject/qrfnyhtx.html