すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:LOAD

最終更新日:Dec 06, 2024

外部データストアからMaxComputeテーブルまたはMaxComputeテーブルのパーティションにデータをインポートする場合は、LOADステートメントを使用できます。 このトピックでは、LOADステートメントを使用して、CSV形式または別のオープンソース形式のデータを外部データストアからMaxComputeテーブルまたはMaxComputeテーブルのパーティションにインポートする方法について説明します。

このトピックで説明されているステートメントは、次のプラットフォームで実行できます。

説明

MaxComputeを使用すると、LOAD OVERWRITEまたはLOAD INTOステートメントを実行して、CSV形式または別のオープンソース形式のデータを外部データストアからMaxComputeテーブルまたはMaxComputeテーブルのパーティションにインポートできます。 外部データストアは、HologresObject Storage Service (OSS)Amazon Redshift、またはBigQueryです。

  • Amazon RedshiftまたはBigQueryからMaxComputeテーブルまたはMaxComputeテーブルのパーティションにデータをインポートするには、まずデータをOSSにインポートする必要があります。

  • MaxComputeでは、動的パーティションモードでパーティションテーブルのパーティションにデータをインポートできます。

  • LOAD INTOステートメントは、テーブルまたはテーブルのパーティションにデータを直接追加します。 LOAD OVERWRITEステートメントは、テーブルまたはテーブルのパーティションをクリアしてから、テーブルまたはパーティションにデータを挿入します。

制限事項

  • 外部データストアのデータは、外部データストアと同じリージョンにあるMaxComputeプロジェクトにインポートできます。

  • OSSからMaxComputeにデータをインポートする場合は、次の制限に注意する必要があります。

    OSSからMaxComputeテーブルのパーティションにデータをインポートする場合、パーティションキー列を除くMaxComputeテーブルのスキーマは、外部データストアのデータのレイアウトと一致している必要があります。

  • HologresからMaxComputeにデータをインポートする場合は、次の制限事項に注意する必要があります。

    • HologresパーティションテーブルのデータをMaxComputeにインポートすることはできません。

    • デュアル署名認証モードを使用するHologres外部テーブルを使用してMaxComputeにデータをインポートすることはできません。

前提条件

  • MaxComputeの関連する権限は、データのインポートに使用するアカウントに付与されます。

    アカウントを使用してLOADステートメントを実行する前に、MaxComputeプロジェクトでCreateTable権限とAlter権限を付与する必要があります。 詳細は、「MaxCompute権限」をご参照ください。

  • データをインポートする外部データストアに対する関連する権限は、データのインポートに使用するアカウントに付与されます。

    外部データストアからMaxComputeにデータをインポートする前に、OSSやHologresなどの外部データストアへのアクセスをMaxComputeに許可する必要があります。 LOAD OVERWRITEおよびLOAD INTOステートメントの承認方法は、MaxCompute外部テーブルの承認方法と同じです。

    外部データストア: OSS

    ワンクリック認証を実行して、セキュリティを強化できます。 詳細については、「STS権限付与」をご参照ください。

    外部データストア: Hologres

    RAMロールを作成し、RAMロールにMaxComputeへのアクセス権限を付与できます。 次に、RAMロールをHologresインスタンスに追加し、RAMロールに関連する権限を付与します。 詳細については、「Hologres外部テーブル」の「STSモードでのHologres外部テーブルの作成」をご参照ください。

承認が完了したら、インポートするデータの形式に基づいて適切なインポート方法を選択する必要があります。

ストレージハンドラとして機能する組み込みのエクストラクタを使用してデータをインポートする

  • 構文

    {load overwrite|into} table <table_name> [partition (<pt_spec>)]
    from location <external_location>
    stored by <StorageHandler>
    [with serdeproperties (<Options>)];
  • パラメーター

    外部データストア: OSS

    • table_name: 必須です。 データを挿入するテーブルの名前。 データを挿入する前に、テーブルを作成する必要があります。 テーブルのスキーマ (パーティションキー列を除く) は、外部データストアのデータのレイアウトと一致している必要があります。

    • pt_spec: オプション。 データを挿入するテーブルのパーティション情報。 このパラメーターの値は、(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...) 形式です。

    • external_location: 必須です。 データを格納するOSSディレクトリ。 このパラメーターの値は、'oss://<oss_endpoint>/<object>' 形式です。 OSSエンドポイントの詳細については、「OSSドメイン名」をご参照ください。 デフォルトでは、MaxComputeはこのディレクトリ内のすべてのファイルを読み取ります。

    • StorageHandler: 必須です。 組み込みのエクストラクタと見なされるストレージハンドラの名前。 com.aliyun.odps.CsvStorageHandlerは、CSVファイルを処理するために使用される組み込みのストレージハンドラです。 CSVファイルからデータを読み取り、CSVファイルにデータを書き込む方法を定義します。 関連する論理は、システムによって実装される。 このパラメーターは、MaxCompute外部テーブルに使用するのと同じ方法で使用できます。 詳細については、「OSS外部テーブルの作成」をご参照ください。

    • Options: オプション。 WITH SERDEPROPERTIESの外部テーブルに関連するプロパティ。 プロパティは、MaxCompute外部テーブルを作成する場合と同じです。 プロパティの詳細については、「OSS外部テーブルの作成」をご参照ください。

    外部データストア: Hologres

    • table_name: 必須です。 データを挿入するテーブルの名前。 データを挿入する前に、テーブルを作成する必要があります。 テーブルのスキーマ (パーティションキー列を除く) は、外部データストアのデータのレイアウトと一致している必要があります。

    • pt_spec: オプション。 データを挿入するテーブルのパーティション情報。 このパラメーターの値は、(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...) 形式です。

    • external_location: 必須です。 データを格納するHologresインスタンスのJava Database Connectivity (JDBC) URL。 このパラメーターの値は、'<jdbc:postgresql://<endpoint >:< port>/<database>?ApplicationName=MaxCompute&[currentSchema=<schema>&][useSSL={true | false}&]table=<holo_table_name>/>' 形式です。

      • endpoint: 必須です。 クラシックネットワークのHologresインスタンスのエンドポイント。 エンドポイントの取得方法の詳細については、「インスタンス設定」をご参照ください。

      • port: 必須です。 Hologresインスタンスのポート番号。 ポート番号の取得方法の詳細については、「インスタンス設定」をご参照ください。获取endpoint和端口

      • database: 必須です。 アクセスするHologresデータベースの名前。 Hologresデータベースの詳細については、「CREATE DATABASE」をご参照ください。

      • ApplicationName: 必須です。 デフォルト値はMaxComputeで、変更は必要ありません。

      • schema: オプション。 ソーステーブルの名前がHologresデータベース内で一意である場合、またはソーステーブルが既定のスキーマ内のテーブルである場合、このパラメーターを指定する必要はありません。 スキーマの詳細については、「CREATE SCHEMA」をご参照ください。

      • holo_table_name: 必須です。 Hologresソーステーブルの名前。 Hologresソーステーブルの詳細については、「CREATE TABLE」をご参照ください。查看表

    • StorageHandler: 必須です。 ストレージハンドラー。Hologres外部テーブルへのアクセスに使用されるメソッドを定義します。 このパラメーターをcom.aliyun.odps.jdbc.JdbcStorageHandlerに設定します。 この値は、JdbcStorageHandlerを使用してHologres外部テーブルにアクセスすることを示します。

    • オプション: オプション。 WITH SERDEPROPERTIESのHologres外部テーブルに関連するプロパティ。 プロパティは、MaxCompute外部テーブルを作成する場合と同じです。

      • mcfed.mapreduce.jdbc.driver.class: 必須です。 Hologresデータベースへのアクセスに使用されるJDBCドライバ。 値をorg.postgresql.Driverに設定します。

      • odps.federation.jdbc.tar get.db.type: 必須です。 アクセスするデータベースのタイプ。 値をholoに設定します。

      • odps.federation.jdbc.colmapping: オプションです。 Hologresソーステーブルの一部の列をHologres外部テーブルにマップする場合は、このパラメーターを設定する必要があります。 このパラメーターは、HologresソーステーブルのフィールドとHologres外部テーブルのフィールド間のマッピングを指定します。

      • このパラメーターが設定されていない場合、ソーステーブルのフィールド名は、Hologres外部テーブルの対応する同じ名前のフィールドにマップされます。

      • このパラメーターが設定されているが、MaxCompute外部テーブルの一部の列のマッピングのみが指定されている場合、残りの列はソーステーブルのフィールド名に基づいて、Hologres外部テーブルの対応する同じ名前の列にマッピングされます。 列名またはタイプが一致しない場合、エラーが報告されます。

      • このパラメーターが設定されており、Hologresのフィールドの名前に大文字が含まれている場合は、フィールド名を二重引用符 ("") で囲みます。 このパラメーターの値は、MaxComputeフィールド1 : "Hologresフィールド1" [,MaxComputeフィールド2 : "Hologresフィールド2" ,...] 形式です。

        説明

        Hologresソーステーブルフィールドは、c boolmap_B string、およびa bigintです。 MaxCompute外部テーブルフィールドは、bigintx文字列、およびc boolです。 colmappingの値が 'x: "map_B" 'の場合、マッピングは成功し、Hologresデータを照会できます。

      • mcfed.mapreduce.jdbc.input.query: オプション。 Hologresソーステーブルからデータを読み取る場合は、このパラメーターを設定する必要があります。外部テーブルの列、列名、およびデータ型は、直接照会されるHologresソーステーブルの列、列名、およびデータ型と一致している必要があります。 エイリアスが使用される場合、エイリアスもエイリアスと一致している必要があります。 select_sentence形式は、SELECT xxx FROM <holo_database_name>.<holo_schema_name>.<holo_table_name> です。

  • 外部データストア: OSS

    ストレージハンドラとして機能する組み込みのエクストラクタを使用して、データをインポートします。 MaxComputeリソースとOSSリソースの所有者は、同じAlibaba Cloudアカウントを使用します。 vehicle.csvファイルからMaxComputeに仮想プライベートクラウド (VPC) 経由でデータをインポートします。

    1. ワンクリック認証を実行します。

    2. vehicle.csvファイルをOSS-cn-hangzhouリージョンのossバケットのmc-test/data_location/ ディレクトリに保存し、OSSディレクトリへのパスを整理します。 OSSバケットの作成方法の詳細については、「バケットの作成」をご参照ください。

      vehicle.csvファイルには次のデータが含まれています。

      1,1,51,1,46.81006,-92.08174,9/14/2014 0:00,S
      1,2,13,1,46.81006,-92.08174,9/14/2014 0:00,NE
      1,3,48,1,46.81006,-92.08174,9/14/2014 0:00,NE
      1,4,30,1,46.81006,-92.08174,9/14/2014 0:00,W
      1,5,47,1,46.81006,-92.08174,9/14/2014 0:00,S
      1,6,9,1,46.81006,-92.08174,9/14/2014 0:00,S
      1,7,53,1,46.81006,-92.08174,9/14/2014 0:00,N
      1,8,63,1,46.81006,-92.08174,9/14/2014 0:00,SW
      1,9,4,1,46.81006,-92.08174,9/14/2014 0:00,NE
      1,10,31,1,46.81006,-92.08174,9/14/2014 0:00,N

      バケット、リージョン、エンドポイントに基づいて、OSSディレクトリへの次のパスを整理します。

      oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/
    3. MaxComputeクライアントにログインし、ambulance_data_csv_loadという名前のテーブルを作成します。 例:

      create table ambulance_data_csv_load (
      vehicleId INT,
      recordId INT,
      patientId INT,
      calls INT,
      locationLatitute DOUBLE,
      locationLongtitue DOUBLE,
      recordTime STRING,
      direction STRING );
    4. LOAD OVERWRITEステートメントを実行して、vehicle.csvファイルをOSSから宛先テーブルにインポートします。 例:

      load overwrite table ambulance_data_csv_load
      from
      location 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/'
      stored by 'com.aliyun.odps.CsvStorageHandler'
      with serdeproperties (
      'odps.properties.rolearn'='acs:ram::xxxxx:role/aliyunodpsdefaultrole', -- The Alibaba Cloud Resource Name (ARN) of the AliyunODPSDefaultRole role. You can obtain the ARN from the Roles page of the Resource Access Management (RAM) console. 
      'odps.text.option.delimiter'=','
      );

      RAMロールのARNを表示する方法の詳細については、「RAMロールに関する情報の表示」をご参照ください。

    5. ambulance_data_csv_loadテーブルのインポート結果を表示します。 例:

      -- Enable a full table scan only for the current session. 
      set odps.sql.allow.fullscan=true;
      select * from ambulance_data_csv_load;

      次の応答が返されます。

      +------------+------------+------------+------------+------------------+-------------------+------------+------------+
      | vehicleid  | recordid   | patientid  | calls      | locationlatitute | locationlongtitue | recordtime | direction  |
      +------------+------------+------------+------------+------------------+-------------------+------------+------------+
      | 1          | 1          | 51         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          |
      | 1          | 2          | 13         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | NE         |
      | 1          | 3          | 48         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | NE         |
      | 1          | 4          | 30         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | W          |
      | 1          | 5          | 47         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          |
      | 1          | 6          | 9          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          |
      | 1          | 7          | 53         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | N          |
      | 1          | 8          | 63         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | SW         |
      | 1          | 9          | 4          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | NE         |
      | 1          | 10         | 31         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | N          |
      +------------+------------+------------+------------+------------------+-------------------+------------+------------+

    外部データストア: Hologres

    • シナリオ

      Hologresインスタンスとデータベースが作成されます。 Hologresデータベースにテーブルが作成されます。 Hologres外部テーブルがMaxComputeで作成されます。 次のサンプルコードでは、Hologres外部テーブルを使用してHologresテーブルのデータをクエリする方法を説明します。

      -- Query data by using the Hologres external table.
      select * from mf_holo_ext4;
      -- The following result is returned:
      +------------+------+
      | id         | name |
      +------------+------+
      | 1          | abc  |
      | 2          | ereg |
      +------------+------+
    • LOADステートメントを実行して、HologresテーブルからMaxCompute内部テーブルにデータをインポートします。

      1. MaxCompute内部テーブルを作成します。

        -- Create a MaxCompute internal table.
        create table mf_from_holo(id bigint,name string);
      2. LOADステートメントを実行して、MaxComputeにデータをインポートします。

        -- Import data from the Hologres table to the MaxCompute internal table.
        load into table mf_from_holo 
        from location 'jdbc:postgresql://hgprecn-cn-wwo3ft0l****-cn-beijing-internal.hologres.aliyuncs.com:80/mf_db?application_name=MaxCompute&currentSchema=public&useSSL=false&table=mf_holo/' 
        stored by 'com.aliyun.odps.jdbc.JdbcStorageHandler' 
        with serdeproperties (
          'odps.properties.rolearn'='acs:ram::18927322887*****:role/hologressrole',
          'mcfed.mapreduce.jdbc.driver.class'='org.postgresql.Driver', 
          'odps.federation.jdbc.target.db.type'='holo'
        );
      3. インポートしたデータを照会します。

        select * from mf_from_holo;
        -- The following result is returned:
        +------------+------+
        | id         | name |
        +------------+------+
        | 2          | ereg |
        | 1          | abc  |
        +------------+------+

別のオープンソース形式でデータをインポートする

  • 構文

    {load overwrite|into} table <table_name> [partition (<pt_spec>)]
    from location <external_location>
    [row format serde '<serde_class>'
      [with serdeproperties (<Options>)]
    ]
    stored as <file_format>;
  • パラメーター

    • table_name: 必須です。 データを挿入するテーブルの名前。 データを挿入する前に、テーブルを作成する必要があります。 テーブルのスキーマ (パーティションキー列を除く) は、外部データストアのデータのレイアウトと一致している必要があります。

    • pt_spec: オプション。 データを挿入するテーブルのパーティション情報。 このパラメーターの値は、(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...) 形式です。

    • external_location: 必須です。 データを格納するOSSディレクトリ。 このパラメーターの値は、'oss://<oss_endpoint>/<object>' 形式です。 OSSエンドポイントの詳細については、「OSSドメイン名」をご参照ください。 デフォルトでは、MaxComputeはこのディレクトリ内のすべてのファイルを読み取ります。

    • serde_class: オプション。 このパラメーターは、MaxCompute外部テーブルに使用するのと同じ方法で使用できます。 詳細については、「OSS外部テーブルの作成」をご参照ください。

    • Options: 必須です。 WITH SERDEPROPERTIESの外部テーブルに関連するプロパティ。 プロパティは、MaxCompute外部テーブルを作成する場合と同じです。 プロパティの詳細については、「OSS外部テーブルの作成」をご参照ください。

    • file_format: 必須です。 インポートするデータの形式 (ORC、PARQUET、RCFILE、SEQUENCEFILE、TEXTFILEなど) 。 このパラメーターは、MaxCompute外部テーブルに使用するのと同じ方法で使用できます。 詳細については、「OSS外部テーブルの作成」をご参照ください。

      説明
      • serde_classおよびOptionsのデフォルト値を使用する場合は、これらのパラメーターを指定する必要はありません。

      • インポートする1つのファイルのサイズは3 GBを超えることはできません。 サイズが3 GBを超える場合は、ファイルを分割します。

    • 例1: 別のオープンソース形式でデータをインポートします。 MaxComputeとOSSの所有者は、同じAlibaba Cloudアカウントを使用します。 vehicle.textfileファイルからVPC経由でMaxComputeにデータをインポートします。

      説明

      MaxComputeとOSSの所有者が異なるAlibaba Cloudアカウントを使用している場合、MaxComputeのAlibaba CloudアカウントにOSSのアクセス権限を付与できます。 詳細については、「OSSのSTS権限付与」をご参照ください。

      1. ワンクリック認証を実行します。

      2. vehicle.txtファイルテキストファイルをOSS-cn-hangzhouリージョンのossバケットのmc-test/data_location/ ディレクトリに保存し、OSSディレクトリへのパスを整理します。 OSSバケットの作成方法の詳細については、「バケットの作成」をご参照ください。

        vehicle.textfileファイルには次のデータが含まれています。

        1,1,51,1,46.81006,-92.08174,9/14/2014 0:00,S
        1,2,13,1,46.81006,-92.08174,9/14/2014 0:00,NE
        1,3,48,1,46.81006,-92.08174,9/14/2014 0:00,NE
        1,4,30,1,46.81006,-92.08174,9/14/2014 0:00,W
        1,5,47,1,46.81006,-92.08174,9/14/2014 0:00,S
        1,6,9,1,46.81006,-92.08174,9/14/2014 0:00,S
        1,7,53,1,46.81006,-92.08174,9/14/2014 0:00,N
        1,8,63,1,46.81006,-92.08174,9/14/2014 0:00,SW
        1,9,4,1,46.81006,-92.08174,9/14/2014 0:00,NE
        1,10,31,1,46.81006,-92.08174,9/14/2014 0:00,N

        バケット、リージョン、エンドポイントに基づいて、OSSディレクトリへの次のパスを整理します。

        oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/
      3. MaxComputeクライアントにログインし、ambulance_data_textfile_load_ptという名前のターゲットテーブルを作成します。 例:

        create table ambulance_data_textfile_load_pt (
        vehicleId STRING,
        recordId STRING,
        patientId STRING,
        calls STRING,
        locationLatitute STRING,
        locationLongtitue STRING,
        recordTime STRING,
        direction STRING)
        partitioned by (ds STRING);
      4. LOAD OVERWRITEステートメントを実行して、OSSから宛先テーブルにvehicle.textfileファイルをインポートします。 例:

        load overwrite table ambulance_data_textfile_load_pt partition(ds='20200910')
        from
        location 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/'
        row format serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
        stored as textfile;
      5. ambulance_data_textfile_load_ptテーブルのインポート結果を表示します。 例:

        -- Enable a full table scan only for the current session. 
        set odps.sql.allow.fullscan=true;
        select * from ambulance_data_textfile_load_pt;

        次の応答が返されます。

        +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
        | vehicleid  | recordid   | patientid  | calls      | locationlatitute | locationlongtitue | recordtime | direction  | ds         |
        +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
        | 1,1,51,1,46.81006,-92.08174,9/14/2014 0:00,S | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,2,13,1,46.81006,-92.08174,9/14/2014 0:00,NE | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,3,48,1,46.81006,-92.08174,9/14/2014 0:00,NE | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,4,30,1,46.81006,-92.08174,9/14/2014 0:00,W | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,5,47,1,46.81006,-92.08174,9/14/2014 0:00,S | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,6,9,1,46.81006,-92.08174,9/14/2014 0:00,S | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,7,53,1,46.81006,-92.08174,9/14/2014 0:00,N | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,8,63,1,46.81006,-92.08174,9/14/2014 0:00,SW | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,9,4,1,46.81006,-92.08174,9/14/2014 0:00,NE | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        | 1,10,31,1,46.81006,-92.08174,9/14/2014 0:00,N | NULL       | NULL       | NULL       | NULL             | NULL              | NULL       | NULL       | 20200910   |
        +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
    • 例2: 動的パーティションモードで宛先テーブルにデータをインポートします。

      説明

      OSSディレクトリ下のサブディレクトリがパーティション名にマップされている場合、動的パーティションモードでパーティションテーブルにデータをインポートできます。

      1. ワンクリック認証を実行します。

      2. vehicle1.csvファイルをOSSバケットのmc-test/data_location/ds=20200909/ ディレクトリに保存し、vehicle2.csvファイルをOSS-cn-hangzhouリージョンのossバケットのmc-test/data_location/ds=20200910/ ディレクトリに保存し、OSSディレクトリへのパスを整理します。 OSSバケットの作成方法の詳細については、「バケットの作成」をご参照ください。

        vehicle1.csvおよびvehicle2.csvファイルには、次のデータが含まれます。

        --vehicle1.csv
        1,1,51,1,46.81006,-92.08174,9/14/2014 0:00,S
        1,2,13,1,46.81006,-92.08174,9/14/2014 0:00,NE
        1,3,48,1,46.81006,-92.08174,9/14/2014 0:00,NE
        1,4,30,1,46.81006,-92.08174,9/14/2014 0:00,W
        1,5,47,1,46.81006,-92.08174,9/14/2014 0:00,S
        1,6,9,1,46.81006,-92.08174,9/14/2014 0:00,S
        --vehicle2.csv
        1,7,53,1,46.81006,-92.08174,9/14/2014 0:00,N
        1,8,63,1,46.81006,-92.08174,9/14/2014 0:00,SW
        1,9,4,1,46.81006,-92.08174,9/14/2014 0:00,NE
        1,10,31,1,46.81006,-92.08174,9/14/2014 0:00,N

        バケット、リージョン、エンドポイントに基づいて、OSSディレクトリへの次のパスを整理します。

        oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/ds=20200909/'
        oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/ds=20200910/'
      3. MaxComputeクライアントにログインし、ambulance_data_csv_load_dynptという名前の宛先テーブルを作成します。 例:

        create table ambulance_data_csv_load_dynpt (
        vehicleId STRING,
        recordId STRING,
        patientId STRING,
        calls STRING,
        locationLatitute STRING,
        locationLongtitue STRING,
        recordTime STRING,
        direction STRING)
        partitioned by (ds STRING);
      4. LOAD OVERWRITEステートメントを実行して、OSSからターゲットテーブルにファイルをインポートします。 例:

        load overwrite table ambulance_data_csv_load_dynpt partition(ds)
        from
        location 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-test/data_location/'
        row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
        stored as textfile;
      5. ambulance_data_csv_load_dynptテーブルのインポート結果を表示します。 例:

        -- Enable a full table scan only for the current session. 
        set odps.sql.allow.fullscan=true;
        select * from ambulance_data_csv_load_dynpt;

        次の応答が返されます。

        +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
        | vehicleid  | recordid   | patientid  | calls      | locationlatitute | locationlongtitue | recordtime | direction  | ds         |
        +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
        | 1          | 7          | 53         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | N          | 20200909   |
        | 1          | 8          | 63         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | SW         | 20200909   |
        | 1          | 9          | 4          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | NE         | 20200909   |
        | 1          | 10         | 31         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | N          | 20200909   |
        | 1          | 1          | 51         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          | 20200910   |
        | 1          | 2          | 13         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | NE         | 20200910   |
        | 1          | 3          | 48         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | NE         | 20200910   |
        | 1          | 4          | 30         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | W          | 20200910   |
        | 1          | 5          | 47         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          | 20200910   |
        | 1          | 6          | 9          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          | 20200910   |
        +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+

関連ドキュメント

MaxComputeプロジェクトからOSSやHologresなどの外部データストアにデータをエクスポートして、他のコンピューティングエンジンがデータを使用できるようにする場合は、UNLOADステートメントを使用できます。 詳細については、「UNLOAD」をご参照ください。