前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sqoop 常用操作

Sqoop 常用操作

作者头像
俺也想起舞
发布2019-07-24 14:35:35
4420
发布2019-07-24 14:35:35
举报

一些Sqoop的常用操作

Sqoop常用命令

1.预备环境

  • Hadoop
  • Zookeeper
  • MySql
  • Hive
  • HBase

or

  • CDH

2. import

简介

该工具可以将单个关系型数据库的表导入到HDFS上

常用参数

参数名称

功能

--connect <jdbc-uri>

jdbc链接(例:jdbc:mysql://host_name/table_name)

--help

帮助

--password <password>

密码

--username <username>

账号

--direct

import工具将会使用JDBC提供的高性能工具例如MySql中的mysqldump)

--fields-terminated-by <char>

设置导出内容不同列的分隔符(默认 ‘,’)

--delete-target-dir

如果文件已经存在则删除

--target-dir <dir>

指定目录输出

last-value

上次导出的主键(增量导出时使用)

代码语言:javascript
复制
sqoop import --connect jdbc:mysql://nhadoop1/test_user \
--username root \
--password 123456 \
--table user \
--direct \
--num-mappers 1 \
--fields-terminated-by ,\
--delete-target-dir
导入到Hive

参数

功能

--hive-import

指定导入到hive

--hive-database <database-name>

指定导入到数据库

--hive-table <table-name>

指定导入的表

代码语言:javascript
复制
sqoop import --connect jdbc:mysql://nhadoop1/test_user \
--username root \
--password 123456 \
--table user \
--direct \
--num-mappers 1 \
--fields-terminated-by , \
--delete-target-dir
--hive-import \
--hive-database database-name \
--hive-table table-name

原生环境可能存在的坑

  1. java.lang.ClassNotFoundException

Sqoop 的lib中缺少Hive 的jar包,从Hive 中找的缺少的jar包到Sqoop中即可

  1. 缺少配置文件

拷贝hive/conf/hive-site.xml到sqoop/conf下

export

参数

功能`

--export-dir

指定输出目录

-- input-fields-terminated-by <char>

指定文件每行的分隔符

--update-key

使用update进行输出(默认insert),后面接匹配的键(例如 ID)

--columns <col,col,col…>

指定输出的栏目名

代码语言:javascript
复制
# 更新操作
sqoop export --connect jdbc:mysql://nhadoop1/test_user \
--username root \
--password 123456 \
--table jobs_k \
--columns rowkey,salary \
--export-dir /user/hive/warehouse/test.db/hbase_map_p \
--input-fields-terminated-by '\001' \
--update-key rowkey

补充

1. 执行文件中的命令
代码语言:javascript
复制
# 原语句
$ sqoop import --connect jdbc:mysql://localhost/db --username foo --table TEST

# 执行文件中的语句
$ sqoop --options-file /users/homer/work/import.txt --table TEST

# 文件中的内容
import
--connect
jdbc:mysql://localhost/db
--username
foo
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Sqoop常用命令
    • 1.预备环境
      • 2. import
        • 简介
        • 常用参数
        • 导入到Hive
      • export
        • 补充
          • 1. 执行文件中的命令
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档