parquet 顶部的外部配置单元表不返回任何数据

vshtjzan  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(365)

我创建了一个Hive表上面的Parquet文件夹写通过Spark。在一个测试服务器中,它运行良好并给出结果(hiveversion2.6.5.196),但在生产环境中,它没有给出任何记录(hive2.6.5.179)。有人能指出确切的问题是什么吗?

bn31dyow

bn31dyow1#

通过spark在Parquet文件夹上创建了配置单元表。
检查您正在使用的数据库是否可用或不使用show数据库;
检查在测试服务器上创建的表的ddl,以及在生产show create table table\u name上创建的表的ddl;
确保两个ddl完全匹配。
do msck repair table\ u name加载增量数据或所有分区的数据
从表名称中选择*以查看记录

jjhzyzn0

jjhzyzn02#

如果在现有分区结构上创建了表,则必须让表知道此位置有分区。

MSCK REPAIR TABLE table_name; -- adds missing partitions
SELECT * FROM table_name; -- should return records now

如果该位置中只有文件,并且这些文件是预期格式,则不应出现此问题。
您可以通过以下方式进行验证:

SHOW CREATE TABLE table_name; -- to see the expected format

相关问题