Hi, all
我在本机进行FLINK输出到HBase的测试,采用datagen生成数据,直接输出到Hbase,发现除rowkey以外全部为null。 请大家帮我分析下问题,谢谢。 Flink 版本 1.11.1;HBASE 版本: 1.4.13 ; phoenix 版本: 4.15.0-HBase-1.4 HBASE中的建表SQL: CREATE TABLE IF NOT EXISTS "ods_iot_gasdevice"( "rowkey" varchar not null primary key, "base_info"."device_id" INTEGER, "base_info"."verify_code" varchar, "status_info"."battery_power" INTEGER, "status_info"."device_status" INTEGER, "time_characteristics"."create_time" TIMESTAMP ); FLINK SQL: CREATE TABLE gasmessage ( deviceId int COMMENT '设备id', deviceStatus int COMMENT '设备状态', notifyType varchar COMMENT '消息类型', batteryStatus int COMMENT '电池电量', verifyCode varchar COMMENT '设备码', createTime as localtimestamp, dataType int COMMENT '数据类型', messageId int COMMENT 'messageId', -- 定义业务字段 createTime 为时间时间,并使用5秒延迟水印策略 WATERMARK FOR createTime AS createTime - INTERVAL '5' SECOND ) WITH ( 'connector' = 'datagen', 'rows-per-second'='1', 'fields.deviceId.kind'='sequence', 'fields.deviceId.start'='2900', 'fields.deviceId.end'='2950', 'fields.deviceStatus.min'='1', 'fields.deviceStatus.max'='4', 'fields.notifyType.length'='17', 'fields.batteryStatus.min'='1', 'fields.batteryStatus.max'='100', 'fields.verifyCode.length'='15', 'fields.dataType.min'='1', 'fields.dataType.max'='4' ); CREATE TABLE ods_iot_gasdevice ( rowkey String, base_info ROW<device_id INT, verify_code String >, status_info ROW <battery_power INT, device_status INT>, time_characteristics ROW <create_time timestamp (3)>, PRIMARY KEY (rowkey) NOT ENFORCED ) WITH ( 'connector' = 'hbase-1.4', 'table-name' = 'ods_iot_gasdevice', 'zookeeper.quorum' = 'hbase-master-0.hbase-master.default.svc.cluster.local:2181', 'sink.buffer-flush.max-rows' = '20' ); -- 用 ROW(...) 构造函数构造列簇,并往 HBase 表写数据。 INSERT INTO ods_iot_gasdevice SELECT Cast(deviceId as varchar) as rowkey, ROW (deviceId , verifyCode), ROW (batteryStatus, deviceStatus), ROW (createTime) FROM gasmessage; create table print with ( 'connector' = 'print' ) LIKE ods_iot_gasdevice (EXCLUDING ALL); insert into print SELECT Cast(deviceId as varchar) as rowkey, ROW (deviceId, verifyCode), ROW (batteryStatus, deviceStatus), ROW (createTime) FROM gasmessage; 测试结果: 0: jdbc:phoenix:> select * from "ods_iot_gasdevice"; +---------+------------+--------------+----------------+----------------+--------------+ | rowkey | device_id | verify_code | battery_power | device_status | create_time | +---------+------------+--------------+----------------+----------------+--------------+ | 2900 | null | | null | null | null | | 2901 | null | | null | null | null | | 2902 | null | | null | null | null | | 2903 | null | | null | null | null | | 2904 | null | | null | null | null | | 2905 | null | | null | null | null | | 2906 | null | | null | null | null | | 2907 | null | | null | null | null | | 2908 | null | | null | null | null | | 2909 | null | | null | null | null | | 2910 | null | | null | null | null | | 2911 | null | | null | null | null | | 2912 | null | | null | null | null | | 2913 | null | | null | null | null | | 2914 | null | | null | null | null | | 2915 | null | | null | null | null | | 2916 | null | | null | null | null | | 2917 | null | | null | null | null | | 2918 | null | | null | null | null | | 2919 | null | | null | null | null | | 2920 | null | | null | null | null | | 2921 | null | | null | null | null | | 2922 | null | | null | null | null | | 2923 | null | | null | null | null | | 2924 | null | | null | null | null | | 2925 | null | | null | null | null | | 2926 | null | | null | null | null | | 2927 | null | | null | null | null | | 2928 | null | | null | null | null | | 2929 | null | | null | null | null | | 2930 | null | | null | null | null | | 2931 | null | | null | null | null | | 2932 | null | | null | null | null | | 2933 | null | | null | null | null | | 2934 | null | | null | null | null | | 2935 | null | | null | null | null | | 2936 | null | | null | null | null | | 2937 | null | | null | null | null | | 2938 | null | | null | null | null | | 2939 | null | | null | null | null | | 2940 | null | | null | null | null | | 2941 | null | | null | null | null | | 2942 | null | | null | null | null | | 2943 | null | | null | null | null | | 2944 | null | | null | null | null | | 2945 | null | | null | null | null | | 2946 | null | | null | null | null | | 2947 | null | | null | null | null | | 2948 | null | | null | null | null | | 2949 | null | | null | null | null | | 2950 | null | | null | null | null | +---------+------------+--------------+----------------+----------------+--------------+ 51 rows selected (0.034 seconds) Best, TonyChen