Paso 4: cargar los datos en HDFS - Amazon DynamoDB

Paso 4: cargar los datos en HDFS

En este paso, copiaremos un archivo de datos en Hadoop Distributed File System (HDFS) y, a continuación, crearemos una tabla Hive externa mapeada con ese archivo de datos.

Descarga del ejemplo de datos
  1. Descargue el ejemplo de archivo de datos (features.zip):

    wget https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/features.zip
  2. Extraiga el archivo features.txt del archivo comprimido:

    unzip features.zip
  3. Vea las primeras líneas del archivo features.txt:

    head features.txt

    El resultado debe ser parecido al siguiente:

    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

    El archivo features.txt contiene un subconjunto de los datos del United States Board on Geographic Names (Consejo Estadounidense de Nombres Geográficos) (http://geonames.usgs.gov/domestic/download_data.htm). Los campos de cada línea representan lo siguiente:

    • Identificador del accidente geográfico (identificador único)

    • Nombre

    • Clase (lago, bosque, arroyo, etc.)

    • Estado

    • Latitud (grados)

    • Longitud (grados)

    • Altitud (en pies)

  4. En el símbolo del sistema, escriba el siguiente comando:

    hive

    El símbolo del sistema cambia a lo siguiente: hive>

  5. Escriba la siguiente instrucción de HiveQL para crear una tabla de 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';
  6. Escriba la siguiente instrucción de HiveQL para cargar datos en la tabla:

    LOAD DATA LOCAL INPATH './features.txt' OVERWRITE INTO TABLE hive_features;
  7. Ahora, tenemos una tabla de Hive nativa que contiene los datos del archivo features.txt. Para comprobarlo, escriba la siguiente instrucción de HiveQL:

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

    El resultado debería ser una lista de estados y el número de accidentes geográficos de cada uno de ellos.

Siguiente paso

Paso 5: copiar los datos a DynamoDB