我有3个数据文件存储在orc中,由 DATE
.
/orc/orc_FLORIDA_2019-04-29/alloc_FLORIDA_2019-04-29/DATE=2019-04-29/myfile.snappy.orc
/orc/orc_FLORIDA_2019-04-29/avails_FLORIDA_2019-04-29/DATE=2019-04-29/myfile.snappy.orc
/orc/orc_FLORIDA_2019-04-29/orders_FLORIDA_2019-04-29/DATE=2019-04-29/myfile.snappy.orc
我提取了一周的数据,因此对于每组文件,下一个文件结构如下所示:
/orc/orc_FLORIDA_2019-04-30/alloc_FLORIDA_2019-04-30/DATE=2019-04-30/myfile.snappy.orc
/orc/orc_FLORIDA_2019-05-1/alloc_FLORIDA_2019-05-1/DATE=2019-05-1/myfile.snappy.orc
/orc/orc_FLORIDA_2019-05-2/alloc_FLORIDA_2019-05-2/DATE=2019-05-2/myfile.snappy.orc
等。。。
我知道我可以通过以下命令读取一天的orc文件:
alloc_orc = spark.read.orc("/orc/orc_FLORIDA_2019-04-30/alloc_FLORIDA_2019-04-30/")
avails_orc = spark.read.orc("/orc/orc_FLORIDA_2019-04-30/avails_FLORIDA_2019-04-30/")
orders_orc = spark.read.orc("/orc/orc_FLORIDA_2019-04-30/orders_FLORIDA_2019-04-30/")
我如何阅读每一张表的一周数据?
如果我有一个月的数据,我只能在第一周内阅读吗?或者我必须在整个月内阅读,然后过滤我想要的日期?
我是否需要调整我的文件结构,并将输出的数据保存到该文件中以便于读入?
/orc/orc_FLORIDA/alloc/DATE=2019-04-29/myfile.snappy.orc
/orc/orc_FLORIDA/alloc/DATE=2019-04-30/myfile.snappy.orc
/orc/orc_FLORIDA/avails/DATE=2019-04-29/myfile.snappy.orc
/orc/orc_FLORIDA/avails/DATE=2019-04-30/myfile.snappy.orc
等。。。
非常感谢您的帮助!
1条答案
按热度按时间pcww981p1#
如果你改变你的结构
Date
那么alloc/avails
Assert下推过滤器将更容易。