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

MaxCompute:UNLOAD

最終更新日:Jul 09, 2025

MaxCompute では、MaxCompute プロジェクトから Object Storage Service (OSS) や Hologres などの外部データストアにデータをエクスポートできます。このようにして、他の計算エンジンは、MaxCompute から外部データストアにエクスポートされたデータを使用できます。このトピックでは、UNLOAD 文の使用方法と関連する例について説明します。

次のプラットフォームでステートメントを実行できます。

機能の説明

MaxCompute では、UNLOAD 文を実行して、MaxCompute から外部データストア OSS または Hologres にデータをエクスポートできます。OSS は、CSV 形式または別のオープンソース形式でデータを保存できます。次の点に注意してください。

  • MaxCompute データは、Amazon Redshift や BigQuery などの他の計算エンジンにエクスポートする前に、OSS にエクスポートする必要があります。

  • データを繰り返しエクスポートする場合、以前にエクスポートされたファイルは上書きされません。代わりに、新しいファイルが生成されます。

制限

UNLOAD 文の使用には、次の制限があります。

  • MaxCompute は、OSS にエクスポートされたファイルを自動的に複数の部分に分割し、ファイルの名前を生成します。エクスポートされたファイルのカスタム名またはファイル名拡張子を指定することはできません。

  • MaxCompute から Hologres にデータをエクスポートする場合、デュアルシグネチャ認証はサポートされていません。

  • MaxCompute からパーティション化された Hologres テーブルにデータをエクスポートすることはできません。

  • オープンソース形式でエクスポートされたファイルにファイル名拡張子を追加することはできません。

注意事項

  • UNLOAD 文に対して課金されることはありません。UNLOAD 文のサブクエリ句は、データのスキャンと計算リソースを使用して結果を計算する必要があります。したがって、サブクエリ句は一般的な SQL タスクとして課金されます。

  • 場合によっては、構造化データを OSS に保存してストレージ コストを削減できます。ただし、事前にコストを見積もる必要があります。

    MaxCompute ストレージ料金は、GB 月あたり 0.018 USD です。ストレージ料金の詳細については、「ストレージ料金 (従量課金)」をご参照ください。MaxCompute にインポートされるデータのデータ圧縮率は約 5:1 です。圧縮後のデータサイズに基づいて課金されます。

    OSS の標準ストレージクラスを使用してデータを保存する場合、単価は GB 月あたり 0.018 USD です。低頻度アクセス (IA)、アーカイブ、コールドアーカイブ ストレージクラスの料金の詳細については、「ストレージ料金」をご参照ください。

    ストレージ コストを削減するためにデータをエクスポートする場合、データ機能テストに基づいてデータ圧縮率を見積もり、データのエクスポート時に使用されるクエリステートメントに基づいて UNLOAD 文の使用コストを見積もり、エクスポートされたデータへのアクセス方法を評価することをお勧めします。これは、不要なデータ移行によって発生する追加コストを防ぐのに役立ちます。

前提条件

  • 操作アカウントには、MaxCompute に関連する権限が付与されています。

    アカウントを使用して UNLOAD 文を実行する前に、アカウントに、MaxCompute プロジェクトでエクスポートするテーブルからデータを読み取るための SELECT 権限があることを確認してください。権限の付与方法の詳細については、「MaxCompute 権限」をご参照ください。

  • 操作アカウントには、関連する外部データストアに必要な権限が付与されています。

    アカウントを使用して MaxCompute から外部データストア OSS または Hologres にデータをエクスポートする前に、アカウントに MaxCompute から外部データストアにアクセスするための権限を付与する必要があります。UNLOAD 文の認証モードは、MaxCompute 外部テーブルの認証モードと同じです。次のセクションでは、MaxCompute に OSS および Hologres へのアクセスを認証する方法について説明します。

    MaxCompute に OSS へのアクセスを認証する

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

    説明

    次の例では、ワンクリック認証が使用され、ロール名は AliyunODPSDefaultRole です。

    MaxCompute に Hologres へのアクセスを認証する

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

上記の認証を完了したら、エクスポートするデータの形式に基づいてエクスポート方法を選択する必要があります。

組み込みエクストラクタを使用してデータをエクスポートする (StorageHandler)

  • 構文

    UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]} 
    INTO 
    LOCATION <external_location>
    STORED BY <StorageHandler>
    [WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)];
  • パラメータ

    MaxCompute から OSS にデータをエクスポートする

    パラメータ

    必須

    説明

    select_statement

    いいえ

    ソーステーブルから対象の OSS ディレクトリに挿入するデータをクエリするために使用される SELECT 句。ソーステーブルは、パーティションテーブルまたは非パーティションテーブルにすることができます。SELECT 句の詳細については、「SELECT 構文」をご参照ください。

    table_name, pt_spec

    いいえ

    テーブル名、またはテーブル名とパーティション名の組み合わせを使用して、エクスポートするデータを指定できます。このエクスポート方法では、クエリステートメントが自動的に生成されません。したがって、料金は発生しません。pt_spec の値は、(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...) 形式です。

    external_location

    はい

    エクスポートされたデータが保存されるターゲット OSS パスを指定します。形式は 'oss://<oss_endpoint>/<object>' です。OSS パスの詳細については、「IPv6 をサポートするエンドポイントを使用して OSS にアクセスする」をご参照ください。

    StorageHandler

    はい

    使用される組み込みストレージハンドラの名前。有効な値: com.aliyun.odps.CsvStorageHandler および com.aliyun.odps.TsvStorageHandler。このパラメータは、CSV ファイルと TSV ファイルを処理する組み込みストレージハンドラを指定し、CSV ファイルと TSV ファイルの読み取り方法または書き込み方法を定義します。ビジネス要件に基づいて、このパラメータのみを指定する必要があります。関連するロジックはシステムによって実装されます。組み込みストレージハンドラを使用してデータをエクスポートする場合、ファイル名拡張子 .csv または .tsv がエクスポートされたファイルの名前に自動的に追加されます。このパラメータの構成は、MaxCompute 外部テーブルの構成と同じです。詳細については、「OSS 外部テーブルを作成する」をご参照ください。

    '<property_name>'='<property_value>'

    いいえ

    property_name はプロパティの名前を指定し、property_value はプロパティの値を指定します。この句は、MaxCompute 外部テーブルの場合と同じ方法で使用できます。プロパティの詳細については、「OSS 外部テーブルを作成する」をご参照ください。

    MaxCompute から Hologres にデータをエクスポートする

    パラメータ

    必須

    説明

    select_statement

    いいえ

    ソーステーブルから対象の Hologres ディレクトリに挿入するデータをクエリするために使用される SELECT 句。ソーステーブルは、非パーティションテーブルのみ可能です。SELECT 句の詳細については、「SELECT 構文」をご参照ください。

    table_name

    いいえ

    テーブル名を使用して、エクスポートするデータを指定できます。このエクスポート方法では、クエリステートメントが自動的に生成されません。したがって、料金は発生しません。

    external_location

    はい

    データをエクスポートする Hologres ディレクトリ。このパラメータの値は、'jdbc:postgresql://<endpoint>:<port>/<database>?ApplicationName=MaxCompute&[currentSchema=<schema>&][useSSL={true|false}&]table=<holo_table_name>/' 形式です。Hologres ディレクトリの詳細については、「Hologres 外部テーブルを作成する」をご参照ください。

    StorageHandler

    はい

    使用される組み込みストレージハンドラの名前。値を com.aliyun.odps.jdbc.JdbcStorageHandler に設定します。この値は、Hologres 外部テーブルに JdbcStorageHandler を使用してアクセスすることを示します。

    '<property_name>'='<property_value>'

    いいえ

    property_name はプロパティの名前を指定します。property_value はプロパティの値を指定します。Hologres にデータをエクスポートする場合、次のパラメータを構成する必要があります。

    • 'odps.properties.rolearn'='<ram_arn>': 指定された RAM ロールの Alibaba Cloud Resource Name (ARN) を指定します。ARN は、Security Token Service (STS) 認証に使用されます。指定された RAM ロールの ARN を取得するには、次の手順を実行します。Resource Access Management (RAM) コンソールにログオンします。ロール ページで、ARN をクエリする RAM ロールを見つけ、「ロール名」列の RAM ロール名をクリックします。表示されるページで、[基本情報] セクションの ARN を表示します。

    • 'mcfed.mapreduce.jdbc.driver.class'='org.postgresql.Driver': Hologres データベースへの接続に使用するドライバーを指定します。値を org.postgresql.Driver に設定します。

    • 'odps.federation.jdbc.target.db.type'='holo': ドライバーが接続されているデータベースのタイプを指定します。値を holo に設定します。

    Hologres でサポートされているプロパティは、MaxCompute 外部テーブルのプロパティと同じです。プロパティの詳細については、「Hologres 外部テーブルを作成する」をご参照ください。

  • MaxCompute から OSS にデータをエクスポートする

    この例では、MaxCompute プロジェクトの sale_detail テーブルから OSS にデータをエクスポートする方法を示します。sale_detail テーブルには、次のデータが含まれています。

    +------------+-------------+-------------+------------+------------+
    | shop_name  | customer_id | total_price | sale_date  | region     |
    +------------+-------------+-------------+------------+------------+
    | s1         | c1          | 100.1       | 2013       | china      |
    | s2         | c2          | 100.2       | 2013       | china      |
    | s3         | c3          | 100.3       | 2013       | china      |
    | null       | c5          | NULL        | 2014       | shanghai   |
    | s6         | c6          | 100.4       | 2014       | shanghai   |
    | s7         | c7          | 100.5       | 2014       | shanghai   |
    +------------+-------------+-------------+------------+------------+
    1. OSS コンソール にログオンします。次に、oss-cn-hangzhou リージョンにある OSS バケットに mc-unload/data_location/ ディレクトリを作成し、OSS ディレクトリを編成します。OSS バケットの作成方法の詳細については、「バケットを作成する」をご参照ください。Bucket

      次の OSS ディレクトリは、バケット、リージョン、およびエンドポイントに基づいて編成されています。

      oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location
    2. MaxCompute クライアント にログオンし、UNLOAD 文を実行して sale_detail テーブルから OSS にデータをエクスポートします。次の例を示します。

      • 例 1: sale_detail テーブルのデータを CSV ファイルとしてエクスポートし、ファイルを GZIP ファイルにパッケージ化します。ステートメントの例:

        -- エクスポートされるファイルの数を制御します。1 人のワーカーが MaxCompute テーブルから読み取るデータサイズを設定します。単位: MB。MaxCompute テーブルは、エクスポートする前に圧縮されます。エクスポートされたデータのサイズは、エクスポート前のデータサイズのおよそ 4 倍です。
        SET odps.stage.mapper.split.size=256;
        -- データをエクスポートします。
        UNLOAD FROM  
        (SELECT * FROM sale_detail)
        INTO
        LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location'
        STORED BY 'com.aliyun.odps.CsvStorageHandler'
        WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole', 'odps.text.option.gzip.output.enabled'='true');
        -- 前述のステートメントは、次のステートメントと同じです。
        SET odps.stage.mapper.split.size=256;
        UNLOAD FROM sale_detail 
        INTO
        LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location'
        STORED BY 'com.aliyun.odps.CsvStorageHandler'
        WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole', 'odps.text.option.gzip.output.enabled'='true');                                 
      • 例 2: sale_detail テーブルのパーティション (sale_date='2013', region='china') からデータを TSV ファイルとして OSS にエクスポートし、ファイルを GZIP ファイルにパッケージ化します。

        -- エクスポートされるファイルの数を制御します。1 人のワーカーが MaxCompute テーブルから読み取るデータサイズを設定します。単位: MB。MaxCompute テーブルは、エクスポートする前に圧縮されます。エクスポートされたデータのサイズは、エクスポート前のデータサイズのおよそ 4 倍です。
        SET odps.stage.mapper.split.size=256;
        -- データをエクスポートします。
        UNLOAD FROM sale_detail PARTITION (sale_date='2013',region='china')
        INTO
        LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location'
        STORED BY 'com.aliyun.odps.TsvStorageHandler'
        WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::139699392458****:role/AliyunODPSDefaultRole', 'odps.text.option.gzip.output.enabled'='true');

      'odps.text.option.gzip.output.enabled'='true' は、エクスポートされたファイルが GZIP ファイルに圧縮されることを指定します。GZIP 形式のみがサポートされています。

    3. OSS コンソール にログオンして、対象の OSS ディレクトリのインポート結果を表示します。

      • 例 1 の結果は次のとおりです。导入结果

      • 例 2 の結果は次のとおりです。导入结果

    MaxCompute から Hologres にデータをエクスポートする

    この例では、MaxCompute プロジェクトの data_test テーブルから Hologres にデータをエクスポートする方法を示します。data_test テーブルには、次のデータが含まれています。

    +------------+------+
    | id         | name |
    +------------+------+
    | 3          | rgege |
    | 4          | Gegegegr |
    +------------+------+
    1. データを書き込む mc_2_holo という名前の Hologres テーブルを作成します。テーブルが属するデータベースの名前は test です。HoloWeb コンソールの SQL エディタで次のテーブル作成ステートメントを実行できます。詳細については、「HoloWeb に接続してクエリを実行する」をご参照ください。ステートメントの例:

      説明

      データを書き込むテーブルのフィールドのデータ型は、MaxCompute テーブルのフィールドのデータ型と同じである必要があります。詳細については、「MaxCompute と Hologres の間のデータ型マッピング」をご参照ください。

      CREATE TABLE mc_2_holo (id INT, name TEXT);
    2. MaxCompute クライアント にログオンし、UNLOAD 文を実行して data_test テーブルから Hologres にデータをエクスポートします。ステートメントの例:

      UNLOAD FROM  
      (SELECT * FROM data_test) 
      INTO 
      LOCATION 'jdbc:postgresql://hgprecn-cn-5y**********-cn-hangzhou-internal.hologres.aliyuncs.com:80/test?ApplicationName=MaxCompute&currentSchema=public&useSSL=false&table=mc_2_holo/'  
      STORED BY 'com.aliyun.odps.jdbc.JdbcStorageHandler'
      WITH SERDEPROPERTIES ( 
        'odps.properties.rolearn'='acs:ram::13**************:role/aliyunodpsholorole',
        'mcfed.mapreduce.jdbc.driver.class'='org.postgresql.Driver', 
        'odps.federation.jdbc.target.db.type'='holo'
      );
    3. Hologres でエクスポートされたデータをクエリします。

      SELECT * FROM mc_2_holo;

      次の結果が返されます。

      id	name
      4	Gegegegr
      3	rgege

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

  • 構文

    UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
    INTO 
    LOCATION <external_location>
    [ROW FORMAT SERDE '<serde_class>' 
      [WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)]
    ]
    STORED AS <file_format>
    [PROPERTIES ('<tbproperty_name>'='<tbproperty_value>')];
  • パラメータ

    パラメータ

    必須

    説明

    select_statement

    いいえ

    ソーステーブルから対象の OSS ディレクトリに挿入するデータをクエリするために使用される SELECT 句。ソーステーブルは、パーティションテーブルまたは非パーティションテーブルにすることができます。SELECT 句の詳細については、「SELECT 構文」をご参照ください。

    table_name, pt_spec

    いいえ

    テーブル名、またはテーブル名とパーティション名の組み合わせを使用して、エクスポートするデータを指定できます。このエクスポート方法では、クエリステートメントが自動的に生成されません。したがって、料金は発生しません。pt_spec の値は (partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...) 形式です。

    external_location

    はい

    エクスポートされたデータが保存されるターゲット OSS パスを指定します。形式は 'oss://<oss_endpoint>/<object>' です。OSS パスの詳細については、「IPv6 をサポートするエンドポイントを使用して OSS にアクセスする」をご参照ください。

    serde_class

    いいえ

    このパラメータの構成は、MaxCompute 外部テーブルの構成と同じです。詳細については、「OSS 外部テーブルを作成する」をご参照ください。

    '<property_name>'='<property_value>'

    いいえ

    property_name はプロパティの名前を指定し、property_value はプロパティの値を指定します。この句は、MaxCompute 外部テーブルの場合と同じ方法で使用できます。プロパティの詳細については、「OSS 外部テーブルを作成する」をご参照ください。

    file_format

    はい

    エクスポートされたファイルの形式 (例: ORC、PARQUET、RCFILE、SEQUENCEFILE、TEXTFILE)。このパラメータの構成は、MaxCompute 外部テーブルの構成と同じです。詳細については、「OSS 外部テーブルを作成する」をご参照ください。

    '<tbproperty_name>'='<tbproperty_value>'

    いいえ

    tbproperty_name は、外部テーブルの拡張情報にあるプロパティの名前を指定します。tbproperty_value は、外部テーブルの拡張情報にあるプロパティの値を指定します。たとえば、オープンソースデータを SNAPPY または LZO 圧縮形式のファイルとしてエクスポートできます。'mcfed.parquet.compression'='SNAPPY' または 'mcfed.parquet.compression'='LZO' を構成できます。

  • この例では、MaxCompute プロジェクトの sale_detail テーブルから OSS にデータをエクスポートする方法を示します。sale_detail テーブルには、次のデータが含まれています。

    +------------+-------------+-------------+------------+------------+
    | shop_name  | customer_id | total_price | sale_date  | region     |
    +------------+-------------+-------------+------------+------------+
    | s1         | c1          | 100.1       | 2013       | china      |
    | s2         | c2          | 100.2       | 2013       | china      |
    | s3         | c3          | 100.3       | 2013       | china      |
    | null       | c5          | NULL        | 2014       | shanghai   |
    | s6         | c6          | 100.4       | 2014       | shanghai   |
    | s7         | c7          | 100.5       | 2014       | shanghai   |
    +------------+-------------+-------------+------------+------------+
    1. OSS コンソール にログオンします。次に、mc-unload/data_location/ ディレクトリを oss-cn-hangzhou リージョンの OSS バケットに作成し、OSS ディレクトリを編成します。OSS バケットの作成方法の詳細については、「バケットを作成する」をご参照ください。Bucket

      次の OSS ディレクトリは、バケット、リージョン、およびエンドポイントに基づいて編成されています。

      oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location
    2. MaxCompute クライアント にログオンし、UNLOAD 文を実行して sale_detail テーブルから OSS にデータをエクスポートします。次の例を示します。

      • 例 1: sale_detail テーブルのデータを PARQUET 形式のファイルとしてエクスポートし、Snappy を使用してファイルを圧縮します。ステートメントの例:

        -- エクスポートされるファイルの数を制御します。1 人のワーカーが MaxCompute テーブルから読み取るデータサイズを設定します。単位: MB。MaxCompute テーブルは、エクスポートする前に圧縮されます。エクスポートされたデータのサイズは、エクスポート前のデータサイズのおよそ 4 倍です。
        SET odps.stage.mapper.split.size=256;
        -- データをエクスポートします。
        UNLOAD FROM 
        (SELECT * FROM sale_detail) 
        INTO  
        LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location' 
        ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
        WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole') 
        STORED AS PARQUET 
        PROPERTIES('mcfed.parquet.compression'='SNAPPY');
      • 例 2: sale_detail テーブルのパーティション (sale_date='2013', region='china') からデータを PARQUET ファイルとして OSS にエクスポートし、Snappy を使用してファイルを圧縮します。ステートメントの例:

        -- エクスポートされるファイルの数を制御します。1 人のワーカーが MaxCompute テーブルから読み取るデータサイズを設定します。単位: MB。MaxCompute テーブルは、エクスポートする前に圧縮されます。エクスポートされたデータのサイズは、エクスポート前のデータサイズのおよそ 4 倍です。
        SET odps.stage.mapper.split.size=256;
        -- データをエクスポートします。
        UNLOAD FROM sale_detail PARTITION (sale_date='2013',region='china') 
        INTO 
        LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location' 
        ROW FROMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
        WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::139699392458****:role/AliyunODPSDefaultRole') 
        STORED AS PARQUET 
        PROPERTIES('mcfed.parquet.compression'='SNAPPY');
    3. OSS コンソール にログオンして、対象の OSS ディレクトリのインポート結果を表示します。

      • 例 1 の結果は次のとおりです。导入结果

      • 例 2 の結果は次のとおりです。导入结果

      説明

      エクスポートされたデータが Snappy または LZO を使用して圧縮されている場合、エクスポートされたファイルのファイル名拡張子 .snappy または .lzo は表示できません。

エクスポートされたファイルのプレフィックスを指定し、ファイル名拡張子を表示する

UNLOAD 文を実行して MaxCompute テーブルからデータをファイルとしてエクスポートする場合、特定のビジネスシナリオでファイルのプレフィックスを指定し、ファイル名拡張子を表示する必要がある場合があります。次の操作を実行して、プレフィックスを指定し、ファイル名拡張子を表示できます。

  • 構文

    • 組み込みエクストラクタを使用して CSV ファイルまたは TSV ファイルをエクスポートします。

      -- 組み込みエクストラクタ、CSV、TSV、およびその他の形式をエクスポートします
      UNLOAD FROM  {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
      INTO 
      LOCATION <external_location> 
      [STORED BY <StorageHandler>]
      [WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)];
    • ORC や Parquet などのオープンソース形式でファイルをエクスポートします。

      UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]} 
      INTO 
      LOCATION <external_location> 
      [ROW FORMAT SERDE '<serde_class>' 
        [WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)] 
      ] 
      STORED AS <file_format> 
      [PROPERTIES('<tbproperty_name>'='<tbproperty_value>')];
      • odps.external.data.prefix プロパティを構成して、カスタムプレフィックスを指定できます。値の長さは最大 10 文字です。

      • odps.external.data.enable.extension プロパティを true に設定して、ファイル名拡張子を表示できます。

      • その他のパラメータの詳細については、「別のオープンソース形式でデータをエクスポートする」をご参照ください。

  • ファイル名拡張子の説明

    ファイル形式

    SerDe

    拡張機能

    SEQUENCEFILE

    org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

    .sequencefile

    TEXTFILE

    org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

    .txt

    RCFILE

    org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe

    .rcfile

    ORC

    org.apache.hadoop.hive.ql.io.orc.OrcSerde

    .orc

    PARQUET

    org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe

    .parquet

    AVRO

    org.apache.hadoop.hive.serde2.avro.AvroSerDe

    .avro

    JSON

    org.apache.hive.hcatalog.data.JsonSerDe

    .json

    CSV

    org.apache.hadoop.hive.serde2.OpenCSVSerde

    .csv

    • TXT ファイルをエクスポートします。mf_ プレフィックスを追加し、.txt 拡張子を表示します。

      SET odps.sql.hive.compatible=true;
      SET odps.sql.split.hive.bridge=true;
      UNLOAD FROM (SELECT col_tinyint,col_binary FROM mf_fun_datatype LIMIT 1)
      INTO
      LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/mfosscostfee/demo6/'
      STORED AS textfile
      PROPERTIES ('odps.external.data.prefix'='mf_', 'odps.external.data.enable.extension'='true');

      指定されたデータストアの対象 OSS ディレクトリでエクスポート結果を表示します。

    • CSV ファイルをエクスポートします。mf_ プレフィックスを追加し、.csv 拡張子を表示します。

      SET odps.sql.hive.compatible=true;
      SET odps.sql.split.hive.bridge=true; 
      UNLOAD FROM (SELECT col_tinyint,col_binary FROM mf_fun_datatype LIMIT 2) 
      INTO 
      LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/mfosscostfee/demo6/' 
      STORED BY 'com.aliyun.odps.CsvStorageHandler' 
      PROPERTIES ('odps.external.data.prefix'='mf_', 'odps.external.data.enable.extension'='true');

      指定されたデータストアの対象 OSS ディレクトリでエクスポート結果を表示します。

参考文献

CSV 形式または別のオープンソース形式のデータを外部データストアから MaxCompute にインポートする場合については、「LOAD」をご参照ください。