From 4450ccadd88a92e66c3f3e763ebc729038690607 Mon Sep 17 00:00:00 2001 From: hffariel Date: Sat, 9 Oct 2021 18:38:33 +0800 Subject: [PATCH] add the convertion of `bytes` columns --- .../starrockswriter/StarRocksWriterOptions.java | 1 - .../starrockswriter/row/StarRocksBaseSerializer.java | 12 ++++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/StarRocksWriterOptions.java b/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/StarRocksWriterOptions.java index be3fa3ec..8d5ede98 100644 --- a/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/StarRocksWriterOptions.java +++ b/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/StarRocksWriterOptions.java @@ -158,7 +158,6 @@ public class StarRocksWriterOptions implements Serializable { private void validateRequired() { final String[] requiredOptionKeys = new String[]{ KEY_USERNAME, - KEY_PASSWORD, KEY_DATABASE, KEY_TABLE, KEY_COLUMN, diff --git a/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/row/StarRocksBaseSerializer.java b/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/row/StarRocksBaseSerializer.java index 77d25f12..a7ad499d 100644 --- a/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/row/StarRocksBaseSerializer.java +++ b/starrockswriter/src/main/java/com/starrocks/connector/datax/plugin/writer/starrockswriter/row/StarRocksBaseSerializer.java @@ -6,13 +6,21 @@ import com.alibaba.datax.common.element.Column.Type; public class StarRocksBaseSerializer { protected String fieldConvertion(Column col) { - if (null == col.getRawData()) { + if (null == col.getRawData() || Type.NULL == col.getType()) { return null; } if (Type.BOOL == col.getType()) { return String.valueOf(col.asLong()); } + if (Type.BYTES == col.getType()) { + byte[] bts = (byte[])col.getRawData(); + long value = 0; + for (int i = 0; i < bts.length; i++) { + value += (bts[bts.length - i - 1] & 0xffL) << (8 * i); + } + return String.valueOf(value); + } return col.asString(); } -} +} \ No newline at end of file