在配置单元(在hadoop上)中使用amazon s3源位置创建外部表时,数据是否传输到本地hadoop hdfs:
外部表创建
当quires(mr jobs)在外部表上运行时
从不(从来没有数据被传输),乔布斯先生读取s3数据。
s3读取的成本是多少?将数据传输到hdfs是否有单一成本,或者没有数据传输成本,但是当配置单元创建的mapreduce作业在此外部表上运行时,会产生读取成本。
外部表定义示例如下:
CREATE EXTERNAL TABLE mydata (key STRING, value INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '='
LOCATION 's3n://mys3bucket/';
2条答案
按热度按时间9udxz4iz1#
map任务将直接从s3读取数据。在map和reduce步骤之间,数据将写入本地文件系统,在mapreduce作业之间(在需要多个作业的查询中),临时数据将写入hdfs。
如果您关心s3的读取开销,那么创建另一个存储在hdfs上的表,并将s3表一次性复制到hdfs表可能是有意义的。
fslejnso2#
当查询(mr jobs)访问数据时,数据将传输到hadoop节点。
创建外部表只更改配置单元元数据,从不移动实际数据。