在创建 hive 表时,我可以将“位置”指向 hdfs 中存在数据的位置吗?我还需要加载数据还是直接在 hive 上提供数据?
问问题
71 次
1 回答
2
您可以在创建表时指定任何位置,并且可以访问数据。如果表已分区,则使用ALTER TABLE ADD PARTITION
orMSCK REPAIR TABLE table_name
或 Amazon version 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
。
于 2017-12-08T19:20:12.890 回答