Hadoop 之 Sqoop 安装配备与示范

       tar -zxvf sqoop-1.4.5-cdh5.3.6.tar.gz

          如连续实例SQL2008,连接字符串中地址改为
sqlserver://10.0.0.1\SQL2008 

 –null-non-string
<null-string>

import体系化的文件

–last-value 4

  • 导出文件指定到文件名
  • Error :Verify the server and instance names and check that no
    firewall is blocking UDP traffic to port 1434

要设置Sqoop与简便利用,当然需要先安装好Hadoop,Hive,
相关的数据库,如Mysql,Sql Server

 

 –split-by
<column-name>

–table  //指定表名

 

HDFS 中表的父级目录

四、连接数据库与表命令

  3、导入数据库中查询的结果到指定的hdfs中目录 

 plain文件
,默认

 指定列import,逗号分隔,如:–columns “id,name”

树立 n 个并发执行task import

二、配置环境变量

–delete-target-dir

  2、连接sqlserver列出数据库在表    

export HADOOP_COMMON_HOME=/opt/hadoop/hadoop-2.7.3
#Set path to where hadoop-*-core.jar is available
#export HADOOP_MAPRED_HOME=
export HADOOP_MAPRED_HOME=/opt/hadoop/hadoop-2.7.3

#set the path to where bin/hbase is available
#export HBASE_HOME=

#Set the path to where bin/hive is available
#export HIVE_HOME=
export HIVE_HOME=/opt/hive/apache-hive-2.1.1.bin

      /etc/profile

#sqoop enviroment 
export SQOOP_HOME=/opt/sqoop-1.4.5-cdh5.3.6
export PATH=$PATH:$SQOOP_HOME/bin

 -z,–compress

sqoop import \
--connect 'jdbc:sqlserver://10.0.0.1:1433;instance=SQL2008;username=test;password=test;database=TestDB' \
--table Customer \
--fields-terminated-by ',' \
--num-mappers 1 \
--hive-import \
--hive-database mydatabase \
--hive-table test_table

 –where <where
clause>

– -check-column id  //以哪个字段为遵照,如id字段

–as-parquetfile //指定文件格式

 –as-sequencefile

 

2、配置jdbc驱动包

直连形式,速度更快(HBase不襄助)

下载sqoop-1.4.5-cdh5.3.6.tar.gz安装包

如若没有主键和split-by参数  用one mapper import,此参数与split-by参数二选一

1、 下载地址:采用CDH相应版本下的

–compress

   
 最终通过表的每一个字段类型分析,主键的自增类型字段是否影响多少导入,测试结果,确实这样,无法对自增长类型字段间接赋值,当然是遏制当前的条件

sqoop list-databases
 --connect 'jdbc:sqlserver://10.10.0.1:1433;instanceName=SQL2008;username=test;password=test;database=testDB'

–direct

一、下载安装包

  • 直白报错,导出不成功

    ERROR tool.ExportTool: Error during export: Export job failed!

表达式<statement>执行,一般有规则查询数据时用

 –null-string
<null-string>

下载mysql的jdbc驱动包mysql-connector-java-5.1.6-bin.jar放入sqoop的lib目录下$SQOOP_HOME/lib

 开启压缩

-m,–num-mappers <n>

 

  HDFS中目标路径,如/user/hive/warehouse

接下去大家看一下怎么设置与做简单示例

4、从sql server中导入到hive数据库中

*  *example,这里具体值是自己本地测试目录,可机关更改,假若数量操作不关乎Hbase,那么相关Hbase的配备可以不配,假如没有单身的ZooKeeper集群,那么ZooKeeper不用配置

* 1、$HIVE_HOME/conf/hive-env.sh*

sqoop import \
--connect 'jdbc:sqlserver://10.0.0.1:1433;instanceName=SQL2008;username=test;password=test;database=TestDB' \
- -query 'select CustomerID,UserName from Customer where $CONDITIONS  ' \
--target-dir /user/hive/warehouse/tmp2 \
--num-mappers 1

–fetch-size <n>

依据column分隔实例

可选参数

 –as-textfile

三、Sqoop配置项改成

–columns <col,col,col…>

 –warehouse-dir
<d>

添加到HDFS已存在多少记录中

–incremental append

 
非string列为空指定为此值,-null这五个参数可选
, 假设不安装,会指定为”null”

2、解压sqoop-1.4.5-cdh5.3.6.tar.gz至指定目录,如:/opt

一回从数据库读取n条数据

sqoop export \
--connect 'jdbc:sqlserver://10.0.0.1:1433;instanceName=SQL2008;username=test;password=test;database=TestDB' \
--table ken_test \
--export-dir /user/hive/warehouse/tmp1/part-m-00000 \
--num-mappers 1

 指定where从句,倘若有双引号,注意转义 \$CONDITIONS,一定要充裕,不可能用or,子查询,join

  string列为空指定为此值

 –target-dir
<d>

    因当地Sql server数据库的表有数量,就以Sql Server为例,mysql相似

    1、连接数据库,查看数据库列表  

 

    假若我们在数据库客户端是足以这么操作的

     –export-dir

附参数表明:

自身碰到的题目:

http://archive.cloudera.com/cdh5/cdh/5/

下载sqlserver的jdbc驱动包sqljdbc4.jar放入sqoop的lib目录下$SQOOP_HOME/lib

 

 -e,–query
<statement>

Sqoop是一个用来将Hadoop和关系型数据库中的数据交互转换的工具,可以将一个关系型数据库(例如
: MySQL ,Oracle
,Postgres等)中的数据导进到Hadoop的HDFS中,也得以将HDFS的多寡导进到关系型数据库中。Sqoop是为大数据集设计的。Sqoop援助增量更新,将新记录添加到如今一次的导出的数目源上,或者指定上次涂改的年月戳。

 –fields-terminated-by ‘\t’ 
 //指定列的分隔符,这么些很要紧,在导入导出时最好指定

若已存在的import目录,则删除

 –autoreset-to-one-mappe

     指定导出的文本地方,不是目录,具体化文件名

 

5、从HDFS少校数据导入Sql Server数据库

点名压缩

–compression-codec org.apache.hadoop.io.compress.SnappyCodec

–append

       mv sqoop-1.4.5-cdh5.3.6.tar.gz  /opt

#增量导入

sqoop list-tables \
--connect
'jdbc:sqlserver:// 10.0.0.1:1433;instanceName=SQL2008;username=test;password=test;database=testDB’

          当有五个数据库实例时,注意开放相应的端口

–columns id,account  //指定表的列

网站地图xml地图