【发布时间】:2016-09-16 14:15:00
【问题描述】:
我有一个构建在大量外部 parquet 文件之上的配置单元表。 Parquet 文件应该由 spark 作业生成,但由于将元数据标志设置为 false,它们没有生成。我想知道是否有可能以某种无痛的方式恢复它。文件结构如下:
/apps/hive/warehouse/test_db.db/test_table/_SUCCESS
/apps/hive/warehouse/test_db.db/test_table/_common_metadata
/apps/hive/warehouse/test_db.db/test_table/_metadata
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-20
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-21
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-22
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-23
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-24
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-25
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-26
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-27
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-28
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-29
/apps/hive/warehouse/test_db.db/test_table/end_date=2016-04-30
假设文件_metadata 不存在或已过时。有没有办法通过 hive 命令重新创建它/生成它而无需启动整个 spark 作业?
【问题讨论】:
-
@Niemand 请用您的最新评论编辑问题!
-
_metadata 不会在 .parquet 文件旁边的分区文件夹中吗?另外,你能从 spark shell 中读取文件吗?
-
是的,一些元数据存在于文件本身中,是的,它们可以从 spark shell 和 hive 查询。只是我认为如果没有这个特定的 _metadata 文件,hive 查询会慢得多。
标签: hadoop apache-spark hive parquet