I can successfully create an Apache Iceberg table with nested data types (struct & arrray) using the following DDL statement:
create table foo (col_1 struct<foo: int, bar: varchar>, col_2 array<varchar>)
However trying to create the same table using a CTAS query fails:
create table foo as (
select
convert_from('{"foo": 1, "bar": "baz"}', 'json') as col_1,
convert_from('["foo", "bar"]', 'json') as col_2
)
Raises:
Type conversion error for column col_1