hadoop - 在配置单元中分区后处理子文件夹

标签 hadoop hive emr

我的目录结构如下。

  • /data/year=/month=/day=/source1/abc.log
  • /data/year=/month=/day=/source2/def.log
  • /data/year=/month=/day=/source3/xyz.log

我想创建一个以年、月、日作为分区的配置单元表,但当我尝试执行 MSCK REPAIR TABLE 时它提示子文件夹“source1”。

建表语句

创建外部表示例( col1 字符串, col2 字符串 ) 分区依据(年份字符串,月份字符串,日期字符串) 存储为兽人 位置“s3n://blah/data/” TBLPROPERTIES ("orc.compress"="SNAPPY");

MSCK REPAIR TABLE 给出“意外的组件源 1”。知道如何在不移动文件的情况下创建外部表吗?谢谢你的帮助。

最佳答案

能否请您尝试设置以下属性

  hive.msck.path.validation = skip (or) ignore

在 hive-site.xml 中,然后在您的表上执行“MSCK REPAIR TABLE”

(引用自 Hive Manual 在“Recover Partitions (MSCK REPAIR TABLE)”部分下)

关于hadoop - 在配置单元中分区后处理子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38886511/

相关文章:

java - 我如何调试 Hadoop map reduce

hadoop - 可以使 Hadoop MultipleInputs.addInputPath 递归工作吗?

hadoop - 使用 Amazon S3 存储桶输入和输出在 Amazon EMR 上运行自定义 JAR 时出现错误(文件系统错误)

java - 在没有root的计算机上格式化hadoop中的namenode

hadoop - 为什么 Hadoop hftp 会提供目录而不是文件?

shell - hadoop fs -put 命令

hadoop - AWS Datapipeline,运行配置单元脚本的 EmrActivity 步骤立即失败并显示 'No such file or directory'

hadoop - 将参数传递给配置单元查询

python - 必填字段 'sessionHandle' 未设置!在将配置单元与 python 一起使用时

node.js - 用于创建 EMR 集群的 Lambda 不会触发集群创建