All Products
Search
Document Center

MaxCompute:Baca data CSV dari data lake menggunakan DLF 1.0 dan OSS

Last Updated:Mar 25, 2026

Topik ini menjelaskan cara mengonfigurasi Data Lake Formation (DLF) untuk mengekstraksi metadata dari data yang disimpan di Object Storage Service (OSS). Anda kemudian dapat menggunakan skema eksternal MaxCompute untuk menjalankan kueri terfederasi pada data di data lake. Solusi ini menyederhanakan analitik data dan pemrosesan serta memastikan keandalan dan keamanan data.

Catatan penggunaan

  • Layanan yang diaktifkan

  • Wilayah yang didukung

    Nama Wilayah

    ID Wilayah

    China (Hangzhou)

    cn-hangzhou

    China (Shanghai)

    cn-shanghai

    China (Beijing)

    cn-beijing

    China (Zhangjiakou)

    cn-zhangjiakou

    China (Shenzhen)

    cn-shenzhen

    China (Hong Kong)

    cn-hongkong

    Singapore

    ap-southeast-1

    Germany (Frankfurt)

    eu-central-1

  • MaxCompute, OSS, dan DLF harus dideploy di wilayah yang sama.

Prosedur

Langkah 1: Berikan izin MaxCompute untuk mengakses DLF dan OSS

Akun yang terkait dengan proyek MaxCompute Anda memerlukan izin untuk mengakses layanan DLF dan OSS. Anda dapat menggunakan salah satu metode otorisasi berikut:

  • Otorisasi satu klik: Jika Anda menggunakan akun yang sama untuk proyek MaxCompute dan layanan DLF, klik Authorize DLF.

  • Otorisasi kustom: Gunakan metode otorisasi kustom jika Anda menggunakan akun yang berbeda.

Langkah 2: Siapkan data OSS

  1. Masuk ke Konsol OSS dan buat bucket. Pada contoh ini, bucket diberi nama mc-lakehouse-dlf-oss. Untuk informasi selengkapnya, lihat Create a bucket.

  2. Contoh ini menggunakan tabel partisi. Buat folder root bernama mc_dlf_oss_pt/ di dalam bucket. Kemudian, buat empat subdirektori di folder root tersebut dan unggah file ke masing-masing subdirektori:

Langkah 3: Ekstraksi metadata OSS menggunakan DLF 1.0

  1. Masuk ke Konsol Data Lake Formation (DLF) dan pilih wilayah di pojok kiri atas.

  2. Pada panel navigasi sebelah kiri, pilih Metadata > Metadata.

  3. Pada halaman Metadata, klik tab Database.

    Di bawah default Catalog List, klik Create Database. Konfigurasikan parameter berikut:

    Pada halaman Metadata Management, klik tab Database. Di katalog data default, klik Create Database. Konfigurasikan parameter berikut:

    Parameter

    Wajib

    Deskripsi

    Catalog

    Wajib

    Pada contoh ini, katalog data adalah default.

    Database Name:

    Wajib

    Masukkan nama database kustom. Nama harus dimulai dengan huruf, panjang 1 hingga 128 karakter, dan hanya boleh berisi huruf, angka, serta garis bawah (_). Contoh: dlf_oss_csv.

    Database Description:

    Opsional

    Masukkan deskripsi kustom.

    Select Path:

    Wajib

    Lokasi penyimpanan database. Contoh: oss://mc-lakehouse-dlf-oss/metadb_save.

  4. Pada panel navigasi sebelah kiri, pilih Metadata > Metadata Discovery.

    1. Set Extraction Source:

      Parameter

      Wajib

      Deskripsi

      Extraction Task Name

      Parameter ini wajib.

      Masukkan nama kustom untuk tugas ekstraksi.

      Select OSS Path

      Wajib

      DLF automatically creates tables and partitions based on the OSS directory that you specified. Directory structure: oss://Selected path/Table name (Optional)/Partition name (Optional)/File name. For example, the data.csv file is used to extract metadata. If this file is saved to the oss://my-bucket/my-path/my-table/dt=1/ directory and the oss://my-bucket/my-path/ directory is selected, DLF uses my_table as the table name, dt as a partition, and the data.csv file as the table schema. All directory names that include the table name can contain letters, digits, and underscores (_), and must start with a letter.

      Exclusion Mode

      Opsional

      Enter a regular expression to match the OSS directory that needs to be excluded

      Parse Format

      Wajib

      Layanan ini menyediakan beberapa format tabel, seperti Automatic Recognition, json, csv, parquet, orc, hudi, delta, dan avro.

    2. Set Extraction Target:

      Parameter

      Wajib

      Deskripsi

      Catalog

      Wajib

      Pilih katalog data untuk informasi target.

      Destination Database

      Wajib

      Pilih database yang sudah ada. Contoh: dlf_oss_csv.

      Destination Table Prefix

      Opsional

      Enter the prefix of the destination table. It must be 1 to 128 characters in length, and can contain letters, digits, and underscores (_). It must start with a letter.

      Method to Handle Table Field Update

      Wajib

      • Add Columns and Retain Existing Columns.

      • Update Table Schema and Generate Table Results Based on the last detected table schema (Jika Anda memilih opsi ini, hasil ekstraksi metadata akan menimpa tabel yang memiliki nama sama. Hal ini dapat menyebabkan tabel asli hilang atau tidak tersedia.)

      • Ignore Updates and Not Modify Table.

      Method to Process Deleted OSS Objects

      Wajib

      • Delete Metadata.

      • Ignore Updates and Not Delete Tables.

    3. Set Extraction Task:

      Parameter

      Wajib

      Deskripsi

      RAM Role

      Wajib

      Data Lake Formation mengasumsikan role ini untuk mengakses resource Anda. Anda dapat memilih role sistem default AliyunDLFWorkFlowDefaultRole.

      Execution Policy

      Opsional

      Kebijakan eksekusi untuk pekerjaan.

      • Manual

      • Scheduling

      Extraction Policy

      Wajib

      • Partial Data Extraction: Memindai hanya sebagian dari setiap file untuk mengekstraksi metadata. Ini memperpendek durasi pekerjaan tetapi mungkin menghasilkan akurasi yang lebih rendah dibandingkan ekstraksi penuh. Anda dapat mengedit metadata untuk menyesuaikan informasi.

      • Extract All: Memindai semua file data untuk mengekstraksi metadata. Proses ini membutuhkan waktu lebih lama untuk dataset besar tetapi memberikan hasil yang lebih akurat.

  5. Lihat tabel yang diekstraksi

    1. Pada panel navigasi sebelah kiri, pilih Metadata > Metadata.

    2. Pada halaman Metadata, klik tab Database.

    3. Pada contoh ini, tabel yang diekstraksi adalah mc_dlf_oss_pt.

  6. Jika Anda menambahkan data ke partisi baru, Anda harus menjalankan ulang tugas ekstraksi.

Langkah 4: Buat sumber data eksternal DLF 1.0 dan OSS

  1. Masuk ke Konsol MaxCompute dan pilih wilayah di pojok kiri atas.

  2. Pada panel navigasi sebelah kiri, pilih Manage Configurations > External Data Source.

  3. Pada halaman External Data Source, klik Create External Data Source.

  4. Pada kotak dialog Create External Data Source, konfigurasikan parameter. Tabel berikut menjelaskan parameter tersebut.

    Parameter

    Wajib

    Deskripsi

    External Data Source Type

    Wajib

    Pilih DLF+OSS.

    External Data Source Name

    Wajib

    Masukkan nama kustom. Konvensi penamaan sebagai berikut:

    • Nama harus dimulai dengan huruf dan hanya boleh berisi huruf kecil, garis bawah (_), dan angka.

    • Nama tidak boleh melebihi 128 karakter.

    Contoh: dlf_oss_csv_new.

    Description

    Opsional

    Masukkan deskripsi sesuai kebutuhan.

    Region

    Wajib

    Wilayah saat ini dipilih secara default.

    DLF Endpoint

    Wajib

    DLF Endpoint wilayah saat ini digunakan secara default.

    OSS Endpoint

    Wajib

    OSS Endpoint wilayah saat ini digunakan secara default.

    RoleARN

    Wajib

    Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM. Peran ini harus memiliki izin untuk mengakses layanan DLF dan OSS.

    1. Masuk ke Konsol Resource Access Management (RAM).

    2. Pada panel navigasi sebelah kiri, pilih Identities > Roles.

    3. Pada bagian Basic Information, peroleh ARN.

    Contoh: acs:ram::124****:role/aliyunodpsdefaultrole.

    Foreign Server Supplemental Properties

    Opsional

    Tentukan atribut tambahan untuk sumber data eksternal. Setelah Anda menentukan atribut tersebut, tugas yang menggunakan sumber data ini dapat mengakses sistem sumber berdasarkan perilaku yang telah ditentukan.

    Catatan

    Untuk informasi tentang parameter yang didukung, lihat pembaruan mendatang dalam dokumentasi resmi. Lebih banyak parameter akan tersedia seiring perkembangan produk.

  5. Klik OK untuk membuat sumber data eksternal.

  6. Pada halaman External Data Source, temukan sumber data target dan klik Details di kolom Actions.

Langkah 5: Buat skema eksternal

Sambungkan ke MaxCompute dan jalankan perintah berikut:

SET odps.namespace.schema=true;

CREATE EXTERNAL SCHEMA IF NOT EXISTS <external_schema>
WITH <external_data_source>
ON '<dlf_data_catalogue>.dlf_database';

Parameter dijelaskan sebagai berikut:

  • external_schema: Nama kustom untuk skema eksternal. Contoh: es_dlf_oss_csv.

  • external_data_source: Nama sumber data eksternal yang telah Anda buat. Proyek yang berisi skema eksternal harus berada di wilayah yang sama dengan sumber data eksternal. Contoh: dlf_oss_csv.

  • dlf_data_catalogue: ID katalog data DLF. Untuk informasi selengkapnya, lihat Create a data catalog. Contoh: 122****.

  • dlf_database: nama database dalam katalog data DLF yang ditentukan. Untuk informasi selengkapnya, lihat Databases, tables, and functions. Contoh: dlf_oss_csv.

Langkah 6: Gunakan SQL untuk mengakses data OSS

  1. Masuk ke klien MaxCompute dan kueri tabel dalam skema eksternal.

SET odps.namespace.schema=true;
USE schema es_dlf_oss_csv;
SHOW tables IN es_dlf_oss_csv;

-- The following result is returned:
ALIYUN$xxx:mc_dlf_oss_pt

OK
  1. Kueri detail tabel mc_dlf_oss_pt dalam skema eksternal.

SET odps.namespace.schema=true;
SELECT * FROM <project_name>.es_dlf_oss_csv.mc_dlf_oss_pt WHERE direction='NE';

-- The following result is returned:
+------------+------------+------------+------------+------------+------------+----------------+------------+
| _c0        | _c1        | _c2        | _c3        | _c4        | _c5        | _c6            | direction  | 
+------------+------------+------------+------------+------------+------------+----------------+------------+
| 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          | 9          | 4          | 1          | 46.81006   | -92.08174  | 9/15/2014 0:00 | NE         | 
+------------+------------+------------+------------+------------+------------+----------------+------------+

Langkah 7: Salin data dari tabel eksternal terfederasi ke gudang data

  1. Salin data dari tabel eksternal terfederasi ke gudang data.

    CREATE TABLE vehicle_copy AS 
    SELECT * FROM <project_name>.es_dlf_oss_csv.mc_dlf_oss_pt 
    WHERE direction='NE';
  2. Kueri data dari tabel di gudang data.

    SELECT * FROM vehicle_copy;
    
    -- The following result is returned:
    +------------+------------+------------+------------+------------+------------+----------------+------------+
    | _c0        | _c1        | _c2        | _c3        | _c4        | _c5        | _c6            | direction  | 
    +------------+------------+------------+------------+------------+------------+----------------+------------+
    | 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          | 9          | 4          | 1          | 46.81006   | -92.08174  | 9/15/2014 0:00 | NE         | 
    +------------+------------+------------+------------+------------+------------+----------------+------------+