导出到HBase (HBaseSinkBatchOp)

Java 类名:com.alibaba.alink.operator.batch.sink.HBaseSinkBatchOp

Python 类名:HBaseSinkBatchOp

功能介绍

写HBase Plugin版。plugin版本为1.2.12。
写入时,指定HBase的zookeeper地址,表名称,列簇名称。指定rowkey列(可以是多列)和要写入的数据列(可以写多列)。
在使用时,需要先下载插件,详情请看https://www.yuque.com/pinshu/alink_guide/czg4cx

参数说明

名称 中文名称 描述 类型 是否必须? 取值范围 默认值
familyName 簇值 簇值 String
pluginVersion 插件版本号 插件版本号 String
rowKeyCols rowkey所在列 rowkey所在列 String[]
tableName HBase表名称 HBase表名称 String
zookeeperQuorum Not available! Not available! String
timeout Not available! Not available! Integer 1000
valueCols 多数值列 多数值列 String[] null

代码示例

以下代码仅用于示意,可能需要修改部分代码或者配置环境后才能正常运行!

Python 代码

  1. df = pd.DataFrame([
  2. ["1", 10000, 10001.0, 10002],
  3. ["2", 20000, 20001.0, 20002]
  4. ])
  5. data = BatchOperator.fromDataframe(df, schemaStr='userid string,red int,black double,green int')
  6. HBaseSinkBatchOp()\
  7. .setZookeeperQuorum("localhost:2181")\
  8. .setTableName("user")\
  9. .setRowKeyCols("userid")\
  10. .setFamilyName("color")\
  11. .setPluginVersion("1.2.12")\
  12. .setValueCols("red", "black","green")\
  13. .linkFrom(data)
  14. BatchOperator.execute()

Java 代码

  1. import org.apache.flink.types.Row;
  2. import com.alibaba.alink.operator.batch.BatchOperator;
  3. import com.alibaba.alink.operator.batch.sink.HBaseSinkBatchOp;
  4. import com.alibaba.alink.operator.batch.source.MemSourceBatchOp;
  5. import com.alibaba.alink.testutil.AlinkTestBase;
  6. import org.junit.Test;
  7. import java.util.Arrays;
  8. import java.util.List;
  9. public class HBaseTest {
  10. @Test
  11. public void testWriteStream() throws Exception {
  12. List <Row> datas = Arrays.asList(
  13. Row.of("1", 10000L, 10001.0, 10002),
  14. Row.of("2", 20000L, 20001.0, 20002)
  15. );
  16. BatchOperator op = new MemSourceBatchOp(datas, "userid string,red long,black double,green int");
  17. HBaseSinkBatchOp hBaseSinkBatchOp = new HBaseSinkBatchOp()
  18. .setZookeeperQuorum("localhost:2181")
  19. .setTableName("user")
  20. .setRowKeyCols("userid")
  21. .setFamilyName("color")
  22. .setPluginVersion("1.2.12")
  23. .setValueCols("red", "black","green");
  24. hBaseSinkBatchOp.linkFrom(op);
  25. BatchOperator.execute();
  26. }
  27. }