我有一个嵌套的JSON数据文件。我需要用特定的数字数据类型写入parquet。因此,需要控制某些字段是整数,有些是长时间等。我可以施放列,但不能将它们写回嵌套的位置。数据必须在嵌套结构中。
这是我尝试的:
CREATE TABLE cdg.`test2.parquet` AS SELECT CAST(t.l1.l2.id AS INTEGER) l1.l2.id FROM cdg.`data.json` t;
我遇到的错误是cast语句的关闭括号之后的路径上的Error: PARSE ERROR: Encountered "."
。
AS INTEGER) l1.l2.id FROM c
^
分析#1:如果我不放置该嵌套字段,则表达式结果很好:
+---------+
| EXPR$0 |
+---------+
| 22222 |
| 22222 |
| 22222 |
| 22222 |
任何见解都将不胜感激。
此错误抱怨说您无法指定字段名称l1.l2.ID为铸件表达式的别名。别名应该是顶级字段。
可以使用或不使用" AS"关键字的AS或不使用" AS"(隐式解析器假定为(
将其提供给。
因此,例如,如果要命名A铸件表达辅助的结果表达式,则可以使用以下SQL语句。
创建表CDG。test2.parquet
作为选择铸件(T.L1.L2.ID作为Integer(作为CDG的ID。data.json
T;
希望这会有所帮助。