千家信息网

利用sqoop将数据从mysql同步到hbase的简单方法

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,下文主要给大家带来利用sqoop将数据从mysql同步到hbase的简单方法,希望利用sqoop将数据从mysql同步到hbase的简单方法这些内容能够带给大家实际用处,这也是我编辑这篇文章的主要目的
千家信息网最后更新 2024年11月24日利用sqoop将数据从mysql同步到hbase的简单方法


下文主要给大家带来利用sqoop将数据从mysql同步到hbase的简单方法,希望利用sqoop将数据从mysql同步到hbase的简单方法这些内容能够带给大家实际用处,这也是我编辑这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
- sqoop- 数据同步- hbase

使用sqoop将数据从mysql同步到hbase
知识点-HBase初体验
知识点-愉快地通过Thrift访问HBase
知识点-HBaseClient(Java)

目前机器使用的sqoop版本

# sqoop versionWarning: /usr/hdp/2.5.3.0-37/accumulo does not exist! Accumulo imports will fail.Please set $ACCUMULO_HOME to the root of your Accumulo installation.17/12/13 22:34:23 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.5.3.0-37Sqoop 1.4.6.2.5.3.0-37git commit id 16c017e90fdde118be73d46eff10cf2c068387e9Compiled by jenkins on Wed Nov 30 02:29:18 UTC 2016

sqoop1.4.6文档 https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html
Sqoop是用来在Hadoop和关系数据库或者大型机之间做数据迁移的一个工具。
可以使用Sqoop从关系型数据库管理系统如MySQL、Oracle中将数据导入到Hadoop分布式文件系统(HDFS)中,也可以从HDFS导出数据到RDBMS中。
RDBMS需要提供数据所在的schema(数据库连接和用户名密码等信息),Sqoop使用MapReduce导入和导出数据,MR提供了容错机制和并行运算。
Sqoop是Apache基金会开源的软件产品,官网http://sqoop.apache.org
Github地址 https://github.com/apache/sqoop

使用实例

sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" \--driver com.mysql.jdbc.Driver \--connect jdbc:mysql://host:3306/databasename \--username root \--password root \--query "select a.id, a.create_date from table_a a WHERE 1=1 AND \$CONDITIONS" \--hbase-table test_sqoop \--column-family 'fts' \--hbase-row-key id --split-by create_date -m 3

7.2.13. Importing Data Into HBase
--hbase-table 指定HBase表。
每一行输入的数据都会转换为HBase的Put操作作为输出到HBase表的行。
默认情况下,Sqoop会使用--split-by的列[上面的create_date]作为rowkey。
也可以通过--hbase-row-key指定作为rowkey的列。
每一个输出行都会放在同一个列族中,必须通过--column-family指定列族。
不能使用--direct【会冲突】。
--hbase-row-key也可以指定复合行健,中间使用逗号隔开。
默认如果HBase表和列族不存在,Sqoop会直接报错退出,所以需要在Sqoop执行之前创建好HBase表和列族。
如果指定--hbase-create-table和列族,HBase表不存在则会自动创建。
Sqoop会序列化所有的值,以字符串形式转化为utf-8的字节数组存到HBase中。
Sqoop会跳过除了行健之外所有为MULL的列。
指定--hbase-bulkload可以采用大批量加载来替代直接写入HBase

对于以上关于利用sqoop将数据从mysql同步到hbase的简单方法,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

0