2012-11-29 14 views
5

Quando si crea una tabella esterna a Hive (su Hadoop), con un percorso di origine Amazon S3 sono i dati trasferiti al Hadoop HDFS locale:Quando si crea una tabella esterna in Hive con una posizione S3, i dati vengono trasferiti?

  • creazione tabella esterna
  • quando quaderni (lavori MR) sono eseguire sul tavolo esterno
  • mai (nessun dato viene mai trasferito) e i lavori MR leggono dati S3.

Quali sono i costi sostenuti qui per le letture S3? C'è un unico costo per il trasferimento dei dati su HDFS o non ci sono costi di trasferimento dati, ma quando il lavoro MapReduce creato da Hive viene eseguito su questa tabella esterna vengono sostenuti i costi di lettura.

Una definizione tabella esterna esempio potrebbe essere:

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

(supponendo che intendiate un costo finanziario) Non penso che vi sia addebitato alcun costo per i trasferimenti tra S3 ed EC2 nella stessa regione AWS http://aws.amazon.com/s3/pricing/ –

risposta

4

Le attività sulla mappa leggeranno i dati direttamente da S3. Tra i passi Map e Reduce, i dati verranno scritti sul filesystem locale e tra i lavori mapreduce (nelle query che richiedono più lavori) i dati temporanei verranno scritti su HDFS.

Se si è preoccupati dei costi di lettura S3, potrebbe essere opportuno creare un'altra tabella archiviata su HDFS e eseguire una copia singola dalla tabella S3 alla tabella HDFS.

2

I dati vengono trasmessi ai nodi Hadoop quando le query (MR Job) accedere ai dati.
Crea tabella esterna modifica solo i metadati Hive e non sposta mai i dati effettivi.

Problemi correlati