Skip to content

Commit 5f9cd73

Browse files
authored
[IcebergIO] Fix Iceberg list conversion (#34955)
* array instead of iterable * cleanup; trigger tests * fix tests
1 parent d5e3766 commit 5f9cd73

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"comment": "Modify this file in a trivial way to cause this test suite to run.",
3-
"modification": 2
3+
"modification": 3
44
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"comment": "Modify this file in a trivial way to cause this test suite to run",
3-
"modification": 3
3+
"modification": 4
44
}

sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/IcebergUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,7 @@ private static Schema.FieldType icebergTypeToBeamFieldType(final Type type) {
101101
case STRUCT:
102102
return Schema.FieldType.row(icebergStructTypeToBeamSchema(type.asStructType()));
103103
case LIST:
104-
return Schema.FieldType.iterable(
105-
icebergTypeToBeamFieldType(type.asListType().elementType()));
104+
return Schema.FieldType.array(icebergTypeToBeamFieldType(type.asListType().elementType()));
106105
case MAP:
107106
return Schema.FieldType.map(
108107
icebergTypeToBeamFieldType(type.asMapType().keyType()),

sdks/java/io/iceberg/src/test/java/org/apache/beam/sdk/io/iceberg/IcebergUtilsTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -700,9 +700,9 @@ public void testPrimitiveIcebergSchemaToBeamSchema() {
700700

701701
static final Schema BEAM_SCHEMA_LIST =
702702
Schema.builder()
703-
.addIterableField("arr_str", Schema.FieldType.STRING)
704-
.addIterableField("arr_int", Schema.FieldType.INT32)
705-
.addIterableField("arr_bool", Schema.FieldType.BOOLEAN)
703+
.addArrayField("arr_str", Schema.FieldType.STRING)
704+
.addArrayField("arr_int", Schema.FieldType.INT32)
705+
.addArrayField("arr_bool", Schema.FieldType.BOOLEAN)
706706
.build();
707707
static final org.apache.iceberg.Schema ICEBERG_SCHEMA_LIST =
708708
new org.apache.iceberg.Schema(

sdks/python/apache_beam/transforms/managed_iceberg_it_test.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ def _create_row(self, num: int):
4848
str_=str(num),
4949
bytes_=bytes(num),
5050
bool_=(num % 2 == 0),
51-
float_=(num + float(num) / 100))
51+
float_=(num + float(num) / 100),
52+
arr_=[num, num, num])
5253

5354
def test_write_read_pipeline(self):
5455
iceberg_config = {

0 commit comments

Comments
 (0)