栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Sqoop简介和基本案例

Sqoop简介和基本案例

Sqoop简介

Sqoop作用在hadoop(hive)与传统的数据库之前的数据传递,可以将一个关系型数据库中的数据导入到HDFS中,也可以将HDFS的数据导入到关系型数据库中.

Sqoop原理

将导入导出命令翻译成mapreduce

翻译出的mapreduce中主要对inputformat和outputformat进行定制

读出数据直接写到mysql

下载解压

修改配置

Conf/sqoop-env.sh中:修改为相应的目录

export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2.

export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2.

export HIVE_HOME=/opt/module/hive

export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10·

export ZOOCFGDIR=/opt/module/zookeeper-3.4.10

export Hbase_HOME=/opt/module/ hbase

拷贝JDBC驱动

将mysqljar包拷贝到lib目录下

验证Sqoop

Bin/sqoop list-databases –connect jdbc:mysql://hadoop120:3306/ --username root –password 000000

Sqoop简单实用案例

Sqoop中”导入”指从关系型数据库导入大数据集群

Sqoop中”导出”指从大数据集群导入关系型数据库

案例:

  1. mysql创建数据库,创建表,导入数据
  2. 选择不同的导入方式

        

 

    1. Connect参数指定到数据库

Table参数指定表

Target-dir指定hdfs目录

Delete-target参数:如果有目标目录的话,删除原来目录(使用的时候要谨慎)

Fields-terminated参数:指定分隔符

    1. 查询导入

        

 

最后的$CONDITIONS必须加

    1. 按列导入

        

        

 

这个东西感觉没什么用 (直接写SQL指定列和where不就都有了?)

  1. 将数据从mysql导入hive
    1. 如果hive中没有指定的表,会在临时的default下自己创建(不建议这样)
    2. 使用—hive-database dbname指定数据库

     

  2. 将数据从mysql导入hbase
    1. 即使使用了—hbase-create-table参数,也可能因为版本问题创建表不成功

     

  3. Hive或hdfs数据导出到mysql

     

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号