【发布时间】:2015-08-05 23:26:58
【问题描述】:
对于HDFS上的数据,我们可以做
CREATE EXTERNAL TABLE <table>
{
id INT,
name STRING,
age INT
} LOCATION 'hdfs_path';
但是如何为上面的LOCATION指定一个本地路径呢?
谢谢。
【问题讨论】:
标签: hadoop hive cloudera cloudera-cdh impala
对于HDFS上的数据,我们可以做
CREATE EXTERNAL TABLE <table>
{
id INT,
name STRING,
age INT
} LOCATION 'hdfs_path';
但是如何为上面的LOCATION指定一个本地路径呢?
谢谢。
【问题讨论】:
标签: hadoop hive cloudera cloudera-cdh impala
您可以先使用“hdfs dfs -put”将文件上传到 HDFS,然后在此之上创建 Hive 外部表。
Hive 无法在本地文件上创建外部表的原因是因为当 Hive 处理数据时,实际处理发生在 Hadoop 集群上,您的本地文件可能根本无法访问。
【讨论】:
我认为您不能在本地文件系统上创建外部表。最接近的方法是在 AWS S3 存储桶上创建一个外部表,使用 LOCATION 's3://yourbucket/'
【讨论】: