在配置单元中描述表时,在表的描述中有两条路径。
hive> MSCK REPAIR TABLE default.am_test;
OK
Time taken: 0.061 seconds
...
...
Location: hdfs://privacynameservice/anonymized/master/ste/finished/sessions
...
...
# Storage Information
SerDe Library: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
InputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
Storage Desc Params:
path hdfs:/anonymized/master/ste/finished/sessions
serialization.format 1
Time taken: 0.048 seconds, Fetched: 57 row(s)
当我尝试在远程spark2-shell上执行MSCK REPAIR TABLE
时(用
--conf spark.hadoop.hive.metastore.uris=thrift://machine8068.dint.company.com:9083
出现错误,抱怨
scala> sql("MSCK REPAIR TABLE privacygateway.ste_catchup_v2")
java.io.FileNotFoundException: File hdfs:/anonymized/master/ste/finished/sessions does not exist.
因此,修复命令使用的第二个路径包含一个奇数URI,因为它不包含所有三个///
也不包含名称服务。
那么... path
是什么,为什么它包含我没有这样设置的路径?