Skip to content

Commit 55dda6f

Browse files
committed
[feature][plugin][hivereader] Add support for ARRAY and Map data type in HiveReader
1 parent 339e11b commit 55dda6f

File tree

1 file changed

+8
-3
lines changed
  • plugin/reader/hivereader/src/main/java/com/wgzhao/addax/plugin/reader/hivereader

1 file changed

+8
-3
lines changed

plugin/reader/hivereader/src/main/java/com/wgzhao/addax/plugin/reader/hivereader/HiveReader.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import com.wgzhao.addax.core.element.BytesColumn;
2323
import com.wgzhao.addax.core.element.Column;
24+
import com.wgzhao.addax.core.element.StringColumn;
2425
import com.wgzhao.addax.core.element.TimestampColumn;
2526
import com.wgzhao.addax.core.plugin.RecordSender;
2627
import com.wgzhao.addax.core.spi.Reader;
@@ -135,11 +136,12 @@ public void init()
135136
protected Column createColumn(ResultSet rs, ResultSetMetaData metaData, int i)
136137
throws SQLException, UnsupportedEncodingException
137138
{
138-
if (metaData.getColumnType(i) == Types.TIMESTAMP) {
139+
int columnType = metaData.getColumnType(i);
140+
if (columnType == Types.TIMESTAMP) {
139141
// hive HiveBaseResultSet#getTimestamp(String columnName, Calendar cal) not support
140142
return new TimestampColumn(rs.getTimestamp(i));
141143
}
142-
if (metaData.getColumnType(i) == Types.BINARY ||
144+
if (columnType == Types.BINARY ||
143145
metaData.getColumnType(i) == Types.VARBINARY) {
144146
try {
145147
return new BytesColumn(rs.getBytes(i));
@@ -148,7 +150,10 @@ protected Column createColumn(ResultSet rs, ResultSetMetaData metaData, int i)
148150
return new BytesColumn(rs.getString(i).getBytes(StandardCharsets.UTF_8));
149151
}
150152
}
151-
153+
if (columnType == Types.ARRAY || columnType == Types.STRUCT || columnType == Types.JAVA_OBJECT) {
154+
// HiveBaseResultSet#getArray(String columnName) not support
155+
return new StringColumn( rs.getString(i));
156+
}
152157
return super.createColumn(rs, metaData, i);
153158
}
154159
};

0 commit comments

Comments
 (0)