【发布时间】:2021-08-11 18:55:50
【问题描述】:
我的 avro 文件包含以下列:
{"name":"my_column","type":["null",{"type":"array","items":{"type":"record","name":"my_column","namespace":"v11","fields":[{"name":"my_column","type":["null","int"],"default":null}]}}],"default":null}
我将数据加载到 Vertica 并存储为 VARBINARY。示例:
db=> select MapToString(my_column) from tab limit 1;
MapToString
------------------------------------------------------------------------------------------------------------------------------------------------------
{
"0.__name__": "my_column",
"0.my_column": "5",
"1.__name__": "my_column",
"1.my_column": "9"
}
(1 row)
数据实际上可以简化为ARRAY[INT]。 (即ARRAY[5,9])。
执行此转换的正确方法是什么? 通过 UDTF 或 UDParser 扩展 Vertica?通过 SQL 执行此转换?还有什么?
编辑:我将检查标量 UDF 是否可以与 AVROPARSER 一起嵌入到 COPY 命令中,或者它是否需要额外的 ETL。
谢谢!
【问题讨论】:
标签: vertica