SparkSQL有一个很好的技巧:它将读取您的镶木地板数据,正确地从镶木地板的元数据中读取模式.更重要的是:如果您使用key=value模式对数据进行分区,SparkSQL将自动递归目录结构,将其value作为一个名为的列读取key.关于此的文档 - 以及一个非常明确的例子 - 在这里.
不幸的是,我的数据以一种适用于Cascading的方式进行分区,似乎并不符合SparkSQL的期望:
2015/
??? 04
??? 29
? ??? part-00000-00002-r-00000.gz.parquet
??? 30
??? part-00000-00001-r-00000.gz.parquet
Run Code Online (Sandbox Code Playgroud)
在层叠,我可以指定一个PartitionTap,告诉它的前三个项目将是year,month和day,我去比赛.但我无法弄清楚如何在SparkSQL中实现类似的效果.可以做以下任何一项:
FileSystemAPI将自己的代码转换为此效果,但我真的不愿意.)(我的镶木地板数据包含嵌套结构,只要我允许它自动执行,SparkSQL可以很好地读取和交互.如果我尝试手动指定Schema,它似乎无法处理嵌套结构.)
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |