我创建了一个Hive表上面的Parquet文件夹写通过Spark。在一个测试服务器中,它运行良好并给出结果(hiveversion2.6.5.196),但在生产环境中,它没有给出任何记录(hive2.6.5.179)。有人能指出确切的问题是什么吗?
bn31dyow1#
通过spark在Parquet文件夹上创建了配置单元表。检查您正在使用的数据库是否可用或不使用show数据库;检查在测试服务器上创建的表的ddl,以及在生产show create table table\u name上创建的表的ddl;确保两个ddl完全匹配。do msck repair table\ u name加载增量数据或所有分区的数据从表名称中选择*以查看记录
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
2条答案
按热度按时间bn31dyow1#
通过spark在Parquet文件夹上创建了配置单元表。
检查您正在使用的数据库是否可用或不使用show数据库;
检查在测试服务器上创建的表的ddl,以及在生产show create table table\u name上创建的表的ddl;
确保两个ddl完全匹配。
do msck repair table\ u name加载增量数据或所有分区的数据
从表名称中选择*以查看记录
jjhzyzn02#
如果在现有分区结构上创建了表,则必须让表知道此位置有分区。
如果该位置中只有文件,并且这些文件是预期格式,则不应出现此问题。
您可以通过以下方式进行验证: