Skip to content

Commit d9d78e5

Browse files
Merge pull request #54 from glassflow/add-array-data-types-clean
Add support for more array data types
2 parents b2ad887 + 290c73d commit d9d78e5

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.2.1
1+
3.3.0

src/glassflow/etl/models/data_types.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,26 @@ class ClickhouseDataType(CaseInsensitiveStrEnum):
5858
ARRAY_INT16 = "Array(Int16)"
5959
ARRAY_INT32 = "Array(Int32)"
6060
ARRAY_INT64 = "Array(Int64)"
61+
ARRAY_FLOAT32 = "Array(Float32)"
62+
ARRAY_FLOAT64 = "Array(Float64)"
63+
ARRAY_BOOL = "Array(Bool)"
64+
ARRAY_UINT8 = "Array(UInt8)"
65+
ARRAY_UINT16 = "Array(UInt16)"
66+
ARRAY_UINT32 = "Array(UInt32)"
67+
ARRAY_UINT64 = "Array(UInt64)"
68+
ARRAY_LC_STRING = "Array(LowCardinality(String))"
69+
ARRAY_LC_INT8 = "Array(LowCardinality(Int8))"
70+
ARRAY_LC_INT16 = "Array(LowCardinality(Int16))"
71+
ARRAY_LC_INT32 = "Array(LowCardinality(Int32))"
72+
ARRAY_LC_INT64 = "Array(LowCardinality(Int64))"
73+
ARRAY_LC_UINT8 = "Array(LowCardinality(UInt8))"
74+
ARRAY_LC_UINT16 = "Array(LowCardinality(UInt16))"
75+
ARRAY_LC_UINT32 = "Array(LowCardinality(UInt32))"
76+
ARRAY_LC_UINT64 = "Array(LowCardinality(UInt64))"
77+
ARRAY_LC_FLOAT32 = "Array(LowCardinality(Float32))"
78+
ARRAY_LC_FLOAT64 = "Array(LowCardinality(Float64))"
79+
ARRAY_LC_DATETIME = "Array(LowCardinality(DateTime))"
80+
ARRAY_LC_FIXEDSTRING = "Array(LowCardinality(FixedString))"
6181

6282

6383
kafka_to_clickhouse_data_type_mappings = {
@@ -100,7 +120,7 @@ class ClickhouseDataType(CaseInsensitiveStrEnum):
100120
KafkaDataType.UINT32: [ClickhouseDataType.UINT32],
101121
KafkaDataType.UINT64: [ClickhouseDataType.UINT64],
102122
KafkaDataType.UINT8: [ClickhouseDataType.UINT8],
103-
KafkaDataType.FLOAT: [ClickhouseDataType.FLOAT64],
123+
KafkaDataType.FLOAT: [ClickhouseDataType.FLOAT32, ClickhouseDataType.FLOAT64],
104124
KafkaDataType.FLOAT32: [ClickhouseDataType.FLOAT32, ClickhouseDataType.LC_FLOAT32],
105125
KafkaDataType.FLOAT64: [
106126
ClickhouseDataType.FLOAT64,
@@ -118,5 +138,25 @@ class ClickhouseDataType(CaseInsensitiveStrEnum):
118138
ClickhouseDataType.ARRAY_INT16,
119139
ClickhouseDataType.ARRAY_INT32,
120140
ClickhouseDataType.ARRAY_INT64,
141+
ClickhouseDataType.ARRAY_FLOAT32,
142+
ClickhouseDataType.ARRAY_FLOAT64,
143+
ClickhouseDataType.ARRAY_BOOL,
144+
ClickhouseDataType.ARRAY_UINT8,
145+
ClickhouseDataType.ARRAY_UINT16,
146+
ClickhouseDataType.ARRAY_UINT32,
147+
ClickhouseDataType.ARRAY_UINT64,
148+
ClickhouseDataType.ARRAY_LC_STRING,
149+
ClickhouseDataType.ARRAY_LC_INT8,
150+
ClickhouseDataType.ARRAY_LC_INT16,
151+
ClickhouseDataType.ARRAY_LC_INT32,
152+
ClickhouseDataType.ARRAY_LC_INT64,
153+
ClickhouseDataType.ARRAY_LC_UINT8,
154+
ClickhouseDataType.ARRAY_LC_UINT16,
155+
ClickhouseDataType.ARRAY_LC_UINT32,
156+
ClickhouseDataType.ARRAY_LC_UINT64,
157+
ClickhouseDataType.ARRAY_LC_FLOAT32,
158+
ClickhouseDataType.ARRAY_LC_FLOAT64,
159+
ClickhouseDataType.ARRAY_LC_DATETIME,
160+
ClickhouseDataType.ARRAY_LC_FIXEDSTRING,
121161
],
122162
}

0 commit comments

Comments
 (0)