我有一个表,里面有一个复杂的类型字段(json类型(。我在那个表上创建了一个视图,以将复杂类型取消到表。
创建或替换视图测试为选择,";t1"第一个";,";内部"inner_ first";,"$路径";来自t t1,UNNEST("内部"(t(内部(限制10
我使用$path函数根据文件名查询数据。
不幸的是,当我尝试在视图上查询$path时,它不起作用,只是没有返回任何结果。因此,我决定将$path字段添加到我的视图中,以便在外部进行查询(如您所见(。
但它仍然不起作用,当我查询:从测试中选择*其中"$路径"="x’
我没有得到相关的结果。s3路径中似乎有什么东西在制造问题。
当我尝试:在哪里"路径";类似于"%s3://bucket/output/table/part-0000000-01131f4f-3fba-4711-8372-11df66a4224a-c000.snappy。镶木地板%"->它仍然不起作用。当我尝试时:
- 其中$路径";比如"%c000.snappy.parquet%"或
- 其中"$路径";类似于"%part-00000-%"它突然适用于非常小的一组字符
但我无法理解逻辑,我想到了隐藏字符,但在底线中,它只是一个常规的s3路径,例如:s3://bucket/output/table/part-00000-01131f4f-3fba-4711-8372-11df66a4224a-c000.snappy镶木地板
如果你面对那个奇怪的案子,请告诉我。
谢谢!
您需要给予"路径";一个能够查询列的别名,或者使用默认的coll4。例如:
create view myview as select "$path" as path from...
然后
select path from myview