

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Fase 4: caricamento di dati in HDFS
<a name="EMRforDynamoDB.Tutorial.LoadDataIntoHDFS"></a>

In questo passaggio, verrà copiato un file di dati nel file di sistema distribuito Hadoop (HDFS) e quindi verrà creata una tabella Hive esterna mappata al file di dati.

**Download dei dati di esempio**

1. Scaricare l'archivio dei dati di esempio (`features.zip`):

   ```
   wget https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/features.zip
   ```

1. Estrarre il file `features.txt` dall'archivio:

   ```
   unzip features.zip
   ```

1. Visualizzare le prime righe del file `features.txt`:

   ```
   head features.txt
   ```

   I risultati dovrebbero essere simili a quanto segue:

   ```
   1535908|Big Run|Stream|WV|38.6370428|-80.8595469|794
   875609|Constable Hook|Cape|NJ|40.657881|-74.0990309|7
   1217998|Gooseberry Island|Island|RI|41.4534361|-71.3253284|10
   26603|Boone Moore Spring|Spring|AZ|34.0895692|-111.410065|3681
   1506738|Missouri Flat|Flat|WA|46.7634987|-117.0346113|2605
   1181348|Minnow Run|Stream|PA|40.0820178|-79.3800349|1558
   1288759|Hunting Creek|Stream|TN|36.343969|-83.8029682|1024
   533060|Big Charles Bayou|Bay|LA|29.6046517|-91.9828654|0
   829689|Greenwood Creek|Stream|NE|41.596086|-103.0499296|3671
   541692|Button Willow Island|Island|LA|31.9579389|-93.0648847|98
   ```

   [Il `features.txt` file contiene un sottoinsieme di dati del Board on Geographic Names degli Stati Uniti (http://geonames.usgs. gov/domestic/download](http://geonames.usgs.gov/domestic/download_data.htm)\$1data.htm). I campi di ogni riga rappresentano i seguenti elementi:
   + ID funzione (identificatore univoco)
   + Name
   + Classe (lake, forest, stream e così via)
   + Stato
   + Latitudine (gradi)
   + Longitudine (gradi)
   + Altezza (in piedi)

1. Al prompt dei comandi, inserisci il comando seguente:

   ```
   hive
   ```

   Il prompt dei comandi viene modificato in `hive>`. 

1. Immettere la seguente istruzione HiveQL per creare una tabella Hive nativa:

   ```
   CREATE TABLE hive_features
       (feature_id             BIGINT,
       feature_name            STRING ,
       feature_class           STRING ,
       state_alpha             STRING,
       prim_lat_dec            DOUBLE ,
       prim_long_dec           DOUBLE ,
       elev_in_ft              BIGINT)
       ROW FORMAT DELIMITED
       FIELDS TERMINATED BY '|'
       LINES TERMINATED BY '\n';
   ```

1. Immettere la seguente istruzione HiveQL per caricare la tabella con i dati:

   ```
   LOAD DATA
   LOCAL
   INPATH './features.txt'
   OVERWRITE
   INTO TABLE hive_features;
   ```

1. Ora si dispone di una tabella Hive nativa popolata con i dati dal file `features.txt`. Per verificare, immettere la seguente istruzione HiveQL:

   ```
   SELECT state_alpha, COUNT(*)
   FROM hive_features
   GROUP BY state_alpha;
   ```

   L'output dovrebbe mostrare un elenco di stati e il numero di caratteristiche geografiche in ciascuno.

**Approfondimenti**  
[Fase 5: copia dei dati in DynamoDB](EMRforDynamoDB.Tutorial.CopyDataToDDB.md)