Amazon DynamoDB
開発者ガイド (API バージョン 2012-08-10)

ステップ 4: HDFS にデータをロードする

このステップでは、Hadoop Distributed File System (HDFS) にデータファイルをコピーし、データファイルにマッピングされる外部 Hive テーブルを作成します。

サンプルデータをダウンロードします。

  1. サンプルデータアーカイブをダウンロードします (features.zip)。

    wget https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/features.zip
  2. アーカイブから features.txt ファイルを抽出します。

    unzip features.zip
  3. features.txt ファイルの最初の数行を表示します。

    head features.txt

    結果は以下のようになります。

    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

    データファイルには、アメリカ地名委員会が提供するデータのサブセットが含まれています (http://geonames.usgs.gov/domestic/download_data.htm)。

    features.txt ファイルには、アメリカ地名委員会からのデータのサブセットが含まれています (http://geonames.usgs.gov/domestic/download_data.htm)。各行のフィールドは以下を表します。

    • 地物 ID (一意の識別子)

    • 名前

    • クラス (湖、森、川など)

    • 状態

    • 緯度 (度)

    • 経度 (度)

    • 高さ (フィート)

  4. コマンドプロンプトで、次のコマンドを入力します。

    hive

    コマンドプロンプトがこれに変わります: hive>

  5. 次の HiveQL ステートメントを入力して、ネイティブ Hive テーブルを作成します。

    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. 次の HiveQL ステートメントを入力して、テーブルにデータをロードします。

    LOAD DATA LOCAL INPATH './features.txt' OVERWRITE INTO TABLE hive_features;
  7. これで、features.txt ファイルからのデータが入力されたネイティブ Hive テーブルが作成されました。確認するには、次の HiveQL ステートメントを入力します。

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

    出力には、状態のリストとそれぞれの地理的特徴の数が表示されます。

次のステップ

ステップ 5: DynamoDB にデータをコピーします。