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

  

 

<代码>

<代码> - sqoop

<代码>——数据同步   ——hbase
<人力资源/>

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

目前机器使用的sqoop版本

 <代码类=" language-shell "> # sqoop版本
  警告:/usr/hdp/2.5.3.0-37/accumulo不存在!Accumulo进口将会失败。
  请设置$ ACCUMULO_HOME Accumulo安装的根源。
  17/12/13 sqoop 22:34:23信息。Sqoop:运行Sqoop版本:1.4.6.2.5.3.0-37
  Sqoop 1.4.6.2.5.3.0-37
  16 c017e90fdde118be73d46eff10cf2c068387e9 git commit id
  编制的詹金斯> sqoop进口“-Dorg.apache.sqoop.splitter.allow_text_splitter=true"\
  ——司机com.mysql.jdbc。司机\
  ——连接jdbc: mysql://主持人:3306/数据库名\
  ——用户名根\
  ——密码根\
  ——查询“选择一个。id,一个。create_date从1=1和table_a \ CONDITIONS"美元;\
  ——hbase表test_sqoop \
  ——列族& # 39;fts # 39;\
  ——hbase-row-key id分割了create_date - m 3  

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

  

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