当您在蜂巢外部表与S3位置中的数据转移?(When you create an external t

2019-08-03 07:30发布

当创建在蜂房(Hadoop的)配有一个Amazon S3源位置的外部表是转移到本地的Hadoop HDFS上的数据:

  • 外部表的创建
  • 当奎雷斯(MR作业)对外部表运行
  • 从来没有(没有数据被不断转移)和MR作业读取S3的数据。

什么是这里发生了S3读取成本? 是否有数据转移到HDFS或单个成本有没有数据传输成本,但是当蜂巢创建MapReduce工作在这个外部表运行读费用支出。

一个例子外部表的定义是:

CREATE EXTERNAL TABLE mydata (key STRING, value INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '='
LOCATION 's3n://mys3bucket/';

Answer 1:

地图任务将直接从S3读取数据。 在Map和Reduce步骤之间,数据会被写入到本地文件系统,并(在需要多个作业查询)临时数据将被写入到HDFS MapReduce作业之间。

如果您担心S3阅读成本,它可能是有意义的创建一个存储在HDFS另一个表,并做从S3表一次性拷贝到HDFS表。



Answer 2:

当查询(MR职位)访问数据的数据传输到你的Hadoop节点。
创建外部表只改变配置单元的元数据和移动从来没有实际数据。



文章来源: When you create an external table in Hive with an S3 location is the data transfered?