【发布时间】:2017-12-08 19:01:01
【问题描述】:
在创建 hive 表时,我可以将“位置”指向 hdfs 中存在数据的位置吗?我还需要加载数据还是直接在 hive 上提供数据?
【问题讨论】:
在创建 hive 表时,我可以将“位置”指向 hdfs 中存在数据的位置吗?我还需要加载数据还是直接在 hive 上提供数据?
【问题讨论】:
您可以在创建表格时指定任何位置,并且可以访问数据。如果表已分区,则使用 ALTER TABLE ADD PARTITION 或 MSCK REPAIR TABLE table_name 或 Amazon 版本 ALTER TABLE table_name RECOVER PARTITIONS ,这会将 HDFS 上存在但不在 Metastore 中的任何分区添加到 Metastore。在此处查看文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RecoverPartitions(MSCKREPAIRTABLE)
如果表没有分区,您可以在创建表时简单地指定数据位置或使用ALTER TABLE SET LOCATION更改表位置。
【讨论】: