云服务器内容精选
-
处理步骤 在集群上安装客户端,查看客户端“sqoop/lib”目录下是否有MySQL驱动包。 在客户端目录下加载环境变量。 source bigdata_env 执行Kerberos用户认证。 如果集群已启用Kerberos认证,执行以下命令认证具有操作权限的用户,否则跳过此步骤。 kinit MRS 集群用户 连接数据库。命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。 sqoop list-databases --connect jdbc:mysql://数据库IP地址:3306/ --username 数据库登录用户名 --password 密码 上图所示则代表sqoop连接MySQL成功。
-
Sqoop常用命令介绍 表1 Sqoop常用命令介绍 命令 说明 import 数据导入到集群 export 集群数据导出 codegen 获取数据库中某张表数据生成Java并打包jar create-hive-table 创建Hive表 eval 执行sql并查看结果 import-all-tables 导入某个数据库下的所有表到HDFS中 job 生成一个sqoop任务 list-databases 列举数据库名 list-tables 列举表名 merge 将HDFS不同目录下的数据合在一起并存放到指定目录 metastore 启动元数据库,记录sqoop job的元数据 help 打印帮助信息 version 打印版本信息
-
公用参数介绍 表2 公用参数介绍 分类 参数 说明 连接数据库 --connect 连接关系型数据库的url --connection-manager 指定连接管理类 --driver jdbc 连接驱动包 --help 帮助信息 --password 连接数据库密码 --username 连接数据库的用户名 --verbose 在控制台打印详细信息 import参数 --fields-terminated-by 设定字段分隔符,和Hive表或hdfs文件保持一致 --lines-terminated-by 设定行分隔符,和hive表或hdfs文件保持一致 --mysql-delimiters MySQL默认分隔符设置 export参数 --input-fields-terminated-by 字段分隔符 --input-lines-terminated-by 行分隔符 hive参数 --hive-delims-replacement 用自定义的字符替换数据中的\r\n等字符 --hive-drop-import-delims 在导入数据到hive时,去掉\r\n等字符 --map-column-hive 生成hive表时可以更改字段的数据类型 --hive-partition-key 创建分区 --hive-partition-value 导入数据库指定分区 --hive-home 指定hive安装目录 --hive-import 表示操作是从关系型数据库导入到hive中 --hive-overwrite 覆盖hive已有数据 --create-hive-table 创建Hive表,默认false,如果目标表不存在,则会创建目标表 --hive-table 指定hive表 --table 关系型数据库表名 --columns 指定需要导入的关系型数据表字段 --query 指定查询语句,将查询结果导入 hcatalog参数 --hcatalog-database 指定hive库,使用hcatalog方式导入hive库 --hcatalog-table 指定hive表,使用hcatalog方式导入hive表 其他参数 -m或--num-mappers 后跟数字,表示sqoop任务的分片数 --split-by 按照某一字段进行分片,配合-m --target-dir 指定hdfs临时目录 --null-string string 类型为null时替换字符串 --null-non-string 非string类型为null时替换字符串 --check-column 增量判断的字段 --incremental append或lastmodified 增量导入参数 append:追加,比如对大于last-value指定的值之后的记录进行追加导入。 lastmodified:最后的修改时间,追加last-value指定的日期之后的记录。 --last-value 指定一个值,用于标记增量导入 --input-null-string 替换null字符串,如果没有指定,则字符串null将被使用。 --input-null-non-string 替换非String的null字符串,如果没有指定,则字符串null将被使用。
-
前提条件 MRS 3.1.0及之后版本在创建集群时已勾选Sqoop组件。 安装客户端,具体请参考安装客户端(3.x及之后版本)。例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。 客户端目录/Sqoop/sqoop/lib下已有对应驱动包(例mysql驱动包mysql-connector-java-5.1.47.jar),如果没有请参考Sqoop1.4.7适配MRS 3.x集群章节中的步骤3下载对应mysql包。
-
Sqoop使用样例 sqoop import(MySQL到HDFS) sqoop import --connect jdbc:mysql://10.100.231.134:3306/test --username root --password xxx --query 'SELECT * FROM component where $CONDITIONS and component_id ="MRS 1.0_002"' --target-dir /tmp/component_test --delete-target-dir --fields-terminated-by "," -m 1 --as-textfile sqoop export (obs到MySQL) sqoop export --connect jdbc:mysql://10.100.231.134:3306/test --username root --password xxx --table component14 -export-dir obs://obs-file-bucket/xx/part-m-00000 --fields-terminated-by ',' -m 1 sqoop import(MySQL到obs) sqoop import --connect jdbc:mysql://10.100.231.134:3306/test --username root --password xxx --table component --target-dir obs://obs-file-bucket/xx --delete-target-dir --fields-terminated-by "," -m 1 --as-textfile sqoop import(MySQL到Hive外obs表) sqoop import --connect jdbc:mysql://10.100.231.134:3306/test --username root --password xxx --table component --hive-import --hive-table component_test01 --fields-terminated-by "," -m 1 --as-textfile
-
导入或导出数据时缺少MySQL驱动包 若执行sqoop import或sqoop export命令报错“Could not load db driver class: com.mysql.jdbc.Driver”,如图1所示,则表示缺少MySQL驱动包,需在MySQL官网下载对应MySQL驱动包,解压并上传至“客户端安装目录/Sqoop/sqoop/lib”目录下,再执行Sqoop导入或导出数据命令即可 图1 缺少MySQL驱动包报错
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格