全部产品
Search
文档中心

DataWorks:Tabel Eksternal

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggunakan DataWorks untuk membuat dan mengonfigurasi tabel eksternal serta mencantumkan tipe data yang didukung dalam tabel tersebut.

Ikhtisar

Tabel berikut menjelaskan konsep-konsep penting yang perlu Anda pahami sebelum menggunakan tabel eksternal.

Konsep

Deskripsi

Object Storage Service (OSS)

OSS mendukung kelas penyimpanan, termasuk Standar, Akses Jarang, dan Arsip, serta berlaku untuk berbagai skenario penyimpanan data. Selain itu, OSS dapat terintegrasi secara mendalam dengan komunitas open-source Hadoop dan produk lainnya seperti E-MapReduce (EMR), Batch Compute, MaxCompute, Machine Learning Platform for AI (PAI), dan Function Compute.

MaxCompute

MaxCompute adalah solusi gudang data yang efisien dan dikelola sepenuhnya. Ini dapat digunakan bersama dengan OSS untuk memungkinkan Anda menganalisis dan memproses sejumlah besar data secara efisien dan hemat biaya.

Fitur tabel eksternal MaxCompute

Kerangka komputasi generasi berikutnya dari MaxCompute V2.0 memungkinkan Anda menggunakan fitur tabel eksternal untuk langsung menanyakan banyak file di OSS, tanpa perlu memuat data ke dalam tabel MaxCompute. Ini mengurangi waktu dan biaya tenaga kerja yang diperlukan untuk migrasi data dan menurunkan biaya penyimpanan.

Gambar berikut menunjukkan arsitektur keseluruhan dari tabel eksternal MaxCompute.架构图

MaxCompute memungkinkan Anda membuat tabel eksternal untuk data tidak terstruktur, seperti data di OSS dan Tablestore. Kerangka pemrosesan data tidak terstruktur memungkinkan MaxCompute mengimpor dan mengekspor data ke dan dari OSS atau Tablestore berdasarkan logika transmisi dan pemrosesan data. Berikut adalah penjelasan logika pemrosesan menggunakan tabel eksternal OSS sebagai contoh:

  1. Data eksternal dari bucket OSS dikonversi berdasarkan kerangka tidak terstruktur dan dilewatkan ke kelas InputStream Java. Anda dapat menulis kode untuk logika EXTRACT, yang melibatkan membaca, mengurai, mengonversi, dan menghitung data dari aliran masukan. Format catatan data yang diekstraksi harus didukung oleh MaxCompute.

  2. Catatan data yang diekstraksi diproses lebih lanjut oleh mesin komputasi SQL terstruktur bawaan MaxCompute. Selama pemrosesan, lebih banyak catatan data mungkin dihasilkan.

  3. Catatan data yang dihasilkan dilewatkan ke logika output yang ditentukan pengguna untuk komputasi dan konversi lebih lanjut. Sistem kemudian menggunakan kelas OutputStream Java untuk mengekspor data yang diperlukan dalam catatan data ke OSS.

Anda dapat menggunakan DataWorks bersama dengan MaxCompute untuk membuat, mencari, dan mengonfigurasi tabel eksternal melalui antarmuka visual di konsol DataWorks. Anda juga dapat menanyakan, memproses, dan menganalisis data dalam tabel eksternal.

Jaringan dan otorisasi akses

MaxCompute terpisah dari OSS. Oleh karena itu, konektivitas jaringan antara MaxCompute dan OSS pada kluster yang berbeda dapat memengaruhi kemampuan MaxCompute untuk mengakses data yang disimpan di OSS. Kami merekomendasikan agar Anda menggunakan titik akhir internal yang diakhiri dengan -internal.aliyuncs.com saat mengakses data yang disimpan di OSS dari MaxCompute.

MaxCompute memerlukan saluran otorisasi aman untuk mengakses data yang disimpan di OSS. MaxCompute menggunakan Resource Access Management (RAM) dan Security Token Service (STS) dari Alibaba Cloud untuk mengamankan akses data. MaxCompute meminta izin akses data dari STS sebagai pembuat tabel. Pengaturan izin untuk Tablestore sama dengan yang digunakan untuk OSS.

  1. Lakukan otorisasi STS.

    Untuk mengakses data OSS menggunakan fitur tabel eksternal MaxCompute, Anda harus memberikan izin akses OSS ke akun yang digunakan untuk menjalankan pekerjaan MaxCompute. STS adalah layanan manajemen token yang disediakan oleh layanan RAM dari Alibaba Cloud. Berdasarkan STS, pengguna RAM yang berwenang dan layanan cloud dapat mengeluarkan token dengan validitas dan izin kustom. Aplikasi dapat menggunakan token untuk memanggil operasi API Alibaba Cloud guna memanipulasi sumber daya.

    Anda dapat menggunakan salah satu metode berikut untuk memberikan izin akses OSS:

    • Jika proyek MaxCompute Anda dan bucket OSS yang ingin Anda akses milik akun Alibaba Cloud yang sama, masuklah ke konsol DataWorks dengan akun tersebut dan lakukan otorisasi satu klik.

      1. Buka tab konfigurasi tabel yang baru dibuat dan temukan bagian Physical Model.

      2. Atur Table Type menjadi External Table.

      3. Konfigurasikan parameter Storage Address dan klik Authorize.一键授权

      4. Di halaman Cloud Resource Access Authorization, klik Confirm Authorization Policy.1

    • Berikan MaxCompute izin untuk mengakses data yang disimpan di OSS di konsol RAM.

      1. Masuk ke konsol RAM.

        Catatan

        Jika proyek MaxCompute Anda dan bucket OSS yang ingin Anda akses milik akun Alibaba Cloud yang berbeda, Anda harus menggunakan akun yang memiliki bucket OSS untuk masuk ke konsol RAM dan melakukan operasi berikut.

      2. Di panel navigasi sisi kiri, pilih Identities > Roles.

      3. Di halaman Roles, klik Create Role. Pada panel Create Role, atur Select Trusted Entity menjadi Alibaba Cloud Account, lalu klik Next.

      4. Konfigurasikan parameter RAM Role Name dan Note.

        Catatan

        Nama peran harus diatur ke AliyunODPSDefaultRole atau AliyunODPSRoleForOtherUser.

      5. Pilih Current Alibaba Cloud Account atau Other Alibaba Cloud Account untuk Select Trusted Alibaba Cloud Account.

        Catatan

        Jika Anda memilih Other Alibaba Cloud Account, masukkan ID akun.

      6. Klik OK.
      7. Konfigurasikan detail peran.

        Di halaman Roles, temukan peran yang diinginkan dan klik nama peran di kolom Role Name. Di tab Trust Policy halaman yang muncul, klik Edit Trust Policy dan masukkan dokumen kebijakan berdasarkan kebutuhan bisnis Anda.

        --Jika proyek MaxCompute dan bucket OSS milik akun yang sama, masukkan konten berikut: 
        {
        "Statement": [
        {
        "Action": "sts:AssumeRole",
        "Effect": "Allow",
        "Principal": {
        "Service": [
        "odps.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
        }                                           
        -- Jika proyek MaxCompute dan bucket OSS milik akun yang berbeda, masukkan konten berikut: 
        {
        "Statement": [
        {
        "Action": "sts:AssumeRole",
        "Effect": "Allow",
        "Principal": {
        "Service": [
        "ID akun Alibaba Cloud yang memiliki proyek MaxCompute@odps.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
        }

        Setelah konfigurasi selesai, klik Save trust policy document.

      8. Klik Grant Permission di kolom Actions peran di halaman Roles. Di panel Grant Permission, cari kebijakan AliyunODPSRolePolicy yang diperlukan untuk akses OSS dan lampirkan kebijakan ke peran. Jika Anda tidak dapat menemukan kebijakan dengan cara ini, klik nama peran di kolom Role Name. Di tab Permissions halaman yang muncul, klik Precise Permission untuk melampirkan kebijakan ke peran.

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "oss:ListBuckets",
                        "oss:GetObject",
                        "oss:ListObjects",
                        "oss:PutObject",
                        "oss:DeleteObject",
                        "oss:AbortMultipartUpload",
                        "oss:ListParts"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "ots:ListTable",
                        "ots:DescribeTable",
                        "ots:GetRow",
                        "ots:PutRow",
                        "ots:UpdateRow",
                        "ots:DeleteRow",
                        "ots:GetRange",
                        "ots:BatchGetRow",
                        "ots:BatchWriteRow",
                        "ots:ComputeSplitPointsBySize"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "pvtz:DescribeRegions",
                        "pvtz:DescribeZones",
                        "pvtz:DescribeZoneInfo",
                        "pvtz:DescribeVpcs",
                        "pvtz:DescribeZoneRecords"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "dlf:CreateFunction",
                        "dlf:BatchGetPartitions",
                        "dlf:ListDatabases",
                        "dlf:CreateLock",
                        "dlf:UpdateFunction",
                        "dlf:BatchUpdateTables",
                        "dlf:DeleteTableVersion",
                        "dlf:UpdatePartitionColumnStatistics",
                        "dlf:ListPartitions",
                        "dlf:DeletePartitionColumnStatistics",
                        "dlf:BatchUpdatePartitions",
                        "dlf:GetPartition",
                        "dlf:BatchDeleteTableVersions",
                        "dlf:ListFunctions",
                        "dlf:DeleteTable",
                        "dlf:GetTableVersion",
                        "dlf:AbortLock",
                        "dlf:GetTable",
                        "dlf:BatchDeleteTables",
                        "dlf:RenameTable",
                        "dlf:RefreshLock",
                        "dlf:DeletePartition",
                        "dlf:UnLock",
                        "dlf:GetLock",
                        "dlf:GetDatabase",
                        "dlf:GetFunction",
                        "dlf:BatchCreatePartitions",
                        "dlf:ListPartitionNames",
                        "dlf:RenamePartition",
                        "dlf:CreateTable",
                        "dlf:BatchCreateTables",
                        "dlf:UpdateTableColumnStatistics",
                        "dlf:ListTableNames",
                        "dlf:UpdateDatabase",
                        "dlf:GetTableColumnStatistics",
                        "dlf:ListFunctionNames",
                        "dlf:ListPartitionsByFilter",
                        "dlf:GetPartitionColumnStatistics",
                        "dlf:CreatePartition",
                        "dlf:CreateDatabase",
                        "dlf:DeleteTableColumnStatistics",
                        "dlf:ListTableVersions",
                        "dlf:BatchDeletePartitions",
                        "dlf:ListCatalogs",
                        "dlf:UpdateTable",
                        "dlf:ListTables",
                        "dlf:DeleteDatabase",
                        "dlf:BatchGetTables",
                        "dlf:DeleteFunction"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
  2. Gunakan sumber data OSS.

    Jika Anda telah menambahkan sumber data OSS ke DataWorks, temukan ruang kerja yang Anda buat di halaman Workspaces konsol DataWorks dan klik Manage di kolom Actions untuk pergi ke halaman SettingCenter. Kemudian, lihat dan gunakan sumber data di halaman Data Sources di SettingCenter.

Buat tabel eksternal

  1. Buat tabel eksternal dengan mengeksekusi pernyataan DDL.

    Pergi ke halaman DataStudio dan eksekusi pernyataan DDL untuk membuat tabel eksternal. Untuk informasi lebih lanjut, lihat Buat dan kelola tabel MaxCompute. Pernyataan DDL harus sesuai dengan sintaks MaxCompute. Jika otorisasi STS selesai, Anda tidak perlu menyertakan properti odps.properties.rolearn dalam pernyataan DDL.

    Kode berikut memberikan contoh pernyataan DDL, di mana EXTERNAL menunjukkan tabel eksternal:

    CREATE EXTERNAL TABLE IF NOT EXISTS ambulance_data_csv_external(
    vehicleId int,
    recordId int,
    patientId int,
    calls int,
    locationLatitute double,
    locationLongtitue double,
    recordTime string,
    direction string
    )
    
    STORED BY 'com.aliyun.odps.udf.example.text.TextStorageHandler' -- Diperlukan. Klausul STORED BY menentukan nama kelas penanganan penyimpanan kustom atau format file lain untuk tabel eksternal. 
    with SERDEPROPERTIES (
    'delimiter'='\\|', -- Opsional. Klausul SERDEPROPERTIES menentukan parameter yang digunakan saat data diserialisasi atau dideserialisasi. Parameter ini dapat dilewatkan ke logika EXTRACT melalui DataAttributes. 
    'odps.properties.rolearn'='acs:ram::xxxxxxxxxxxxx:role/aliyunodpsdefaultrole'
    )
    LOCATION 'oss://oss-cn-shanghai-internal.aliyuncs.com/oss-odps-test/Demo/SampleData/CustomTxt/AmbulanceData/'     -- Diperlukan. Parameter LOCATION menentukan lokasi tabel eksternal. 
    USING 'odps-udf-example.jar'; -- Diperlukan jika Anda menggunakan kelas format kustom. Parameter USING menentukan paket JAR tempat kelas format kustom berada.   

    STORED BY dapat diikuti oleh parameter yang menunjukkan penanganan penyimpanan bawaan untuk file CSV atau TSV.

    • com.aliyun.odps.CsvStorageHandler: mendefinisikan cara membaca data dari dan menulis data ke file CSV. Dengan spesifikasi ini, pemisah kolom adalah koma (,) dan line feed adalah \n. Contoh: STORED BY'com.aliyun.odps.CsvStorageHandler'.

    • com.aliyun.odps.TsvStorageHandler: mendefinisikan cara membaca data dari dan menulis data ke file TSV. Dengan spesifikasi ini, pemisah kolom adalah \t dan line feed adalah \n.

    STORED BY juga dapat diikuti oleh parameter yang menunjukkan an external table of which data is in one of the following open source formats: ORC, PARQUET, SEQUENCEFILE, RCFILE, AVRO, dan TEXTFILE. Sebagai contoh, Anda dapat menentukan kelas org.apache.hive.hcatalog.data.JsonSerDe untuk menyimpan tabel sebagai file teks.

    • org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe -> disimpan sebagai textfile

    • org.apache.hadoop.hive.ql.io.orc.OrcSerde -> disimpan sebagai orc

    • org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe -> disimpan sebagai parquet

    • org.apache.hadoop.hive.serde2.avro.AvroSerDe -> disimpan sebagai avro

    • org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe -> disimpan sebagai sequencefile

    Pernyataan DDL yang digunakan untuk membuat tabel eksternal yang datanya dalam format sumber terbuka:

      CREATE EXTERNAL TABLE [IF NOT EXISTS] (<column schemas>)
      [PARTITIONED BY (partition column schemas)]
      [ROW FORMAT SERDE '']
      STORED AS 
      [WITH SERDEPROPERTIES ( 'odps.properties.rolearn'='${roleran}'
      [,'name2'='value2',...]
      ) ]
      LOCATION 'oss://${endpoint}/${bucket}/${userfilePath}/';

    Tabel berikut menjelaskan properti klausa SERDEPROPERTIES.

    Properti

    Nilai valid

    Nilai default

    Deskripsi

    odps.text.option.gzip.input.enabled

    true dan false

    false

    Menentukan apakah akan menekan file yang datanya ingin Anda baca.

    odps.text.option.gzip.output.enabled

    true dan false

    false

    Menentukan apakah akan menekan file yang datanya ingin Anda tulis.

    odps.text.option.header.lines.count

    Bilangan bulat non-negatif

    0

    Mengabaikan N baris pertama dari file teks.

    odps.text.option.null.indicator

    String

    String kosong

    String yang mewakili NULL.

    odps.text.option.ignore.empty.lines

    true dan false

    true

    Menentukan apakah akan mengabaikan baris kosong.

    odps.text.option.encoding

    UTF-8/UTF-16/US-ASCII

    UTF-8

    Menentukan format encoding file teks.

    Catatan

    MaxCompute memungkinkan Anda menggunakan hanya ekstraktor bawaan untuk membaca file CSV atau TSV dalam format GZIP dari OSS. Anda dapat memilih apakah file tersebut dikompresi GZIP, yang menentukan properti yang perlu Anda tentukan.

    Parameter LOCATION dalam format oss://oss-cn-shanghai-internal.aliyuncs.com/Nama Bucket/Nama Direktori. Anda dapat memperoleh direktori OSS di antarmuka pengguna grafis (GUI). Anda tidak perlu menambahkan nama file di sebelah direktori.

    Anda dapat menemukan tabel yang dibuat menggunakan pernyataan DDL di panel Workspace Tables. Anda dapat mengubah folder level-1 dan level-2 tabel untuk mengubah lokasi tabel.

  2. Buat tabel eksternal Tablestore.

    Pernyataan yang digunakan untuk membuat tabel eksternal Tablestore:

    CREATE EXTERNAL TABLE IF NOT EXISTS ots_table_external(
    odps_orderkey bigint,
    odps_orderdate string,
    odps_custkey bigint,
    odps_orderstatus string,
    odps_totalprice double
    )
    STORED BY 'com.aliyun.odps.TableStoreStorageHandler' 
    WITH SERDEPROPERTIES (
    'tablestore.columns.mapping'=':o_orderkey,:o_orderdate,o_custkey, o_orderstatus,o_totalprice', -- (3)
    'tablestore.table.name'='ots_tpch_orders'
    'odps.properties.rolearn'='acs:ram::xxxxx:role/aliyunodpsdefaultrole'
    )
    LOCATION 'tablestore://odps-ots-dev.cn-shanghai.ots-internal.aliyuncs.com'; 

    Deskripsi parameter:

    • com.aliyun.odps.TableStoreStorageHandler menentukan penanganan penyimpanan bawaan MaxCompute untuk memproses data yang disimpan di Tablestore.

    • SERDEPROPERTIES menyediakan opsi untuk parameter. Anda harus menentukan tablestore.columns.mapping dan tablestore.table.name saat menggunakan TableStoreStorageHandler.

      • tablestore.columns.mapping: Diperlukan. Parameter ini menentukan kolom tabel Tablestore yang ingin diakses oleh MaxCompute. Kolom tersebut mencakup kolom kunci utama dan kolom properti. Kolom kunci utama ditandai dengan tanda titik dua (:) di awal nama kolom. Dalam contoh ini, kolom kunci utama adalah :o_orderkey dan :o_orderdate. Yang lainnya adalah kolom properti.

        Tabel Tablestore mendukung maksimal empat kolom kunci utama. Tipe data kolom ini harus STRING, INTEGER, atau BINARY. Kolom kunci utama pertama juga merupakan kolom kunci partisi. Anda harus menentukan semua kolom kunci utama tabel di Tablestore saat menentukan pemetaan. Untuk kolom lainnya, Anda hanya perlu menentukan kolom properti yang perlu diakses oleh MaxCompute.

      • tablestore.table.name: nama tabel Tablestore. Jika nama tabel tidak ada di Tabletore, kesalahan dilaporkan, dan MaxCompute tidak membuat tabel di Tablestore.

    • LOCATION: menentukan nama dan Endpoints instance Tablestore.

  3. Buat tabel di GUI.

    Pergi ke halaman DataStudio dan buat tabel di GUI. Untuk informasi lebih lanjut, lihat Buat dan kelola tabel MaxCompute. Tabel eksternal memiliki properti berikut:

    • General

      • Nama Tabel (dimasukkan saat Anda membuat tabel)

      • Nama Tampilan

      • Tema Level-1 dan Tema Level-2

      • Deskripsi

    • Physical Model

      • Table Type: Pilih External Table.

      • Partition Type: Tabel eksternal Tablestore tidak mendukung partisi.

      • Storage Address: sesuai dengan parameter LOCATION. Di bagian Physical Model, Anda dapat memasukkan nilai parameter LOCATION sebagai alamat penyimpanan. Anda juga dapat mengklik Select untuk memilih alamat penyimpanan. Lalu, klik Authorize.

      • File Format: Pilih format file berdasarkan kebutuhan bisnis Anda. Format berikut didukung: CSV, TSV, ORC, PARQUET, SEQUENCEFILE, RCFILE, AVRO, TEXTFILE, dan format file kustom. Jika Anda memilih format file kustom, Anda perlu memilih sumber daya yang sesuai. Setelah Anda mengirimkan sumber daya, DataWorks secara otomatis mengurai nama kelas yang disertakan dan menampilkannya dalam daftar drop-down Nama Kelas.

      • rolearn: Jika Anda telah menyelesaikan otorisasi STS, Anda dapat membiarkannya kosong.

    • Schema表结构设计

      Parameter

      Deskripsi

      Data Type

      MaxCompute 2.0 mendukung bidang tipe TINYINT, SMALLINT, INT, BIGINT, VARCHAR, dan STRING.

      Actions

      Operasi tambah, ubah, dan hapus didukung.

      Definition or Maximum Value Length

      Anda dapat mengatur panjang maksimum untuk bidang tipe VARCHAR. Untuk tipe data kompleks, masukkan definisi.

Tipe data yang didukung

Tabel berikut menjelaskan tipe data dasar yang didukung dalam tabel eksternal.

Tipe data

Baru

Contoh

Deskripsi

TINYINT

Ya

1Y dan -127Y

Tipe integer bertanda 8-bit. Nilai valid: -128 hingga 127.

SMALLINT

Ya

32767S dan -100S

Tipe integer bertanda 16-bit. Nilai valid: -32768 hingga 32767.

INT

Ya

1000 dan -15645787

Tipe integer bertanda 32-bit. Nilai valid: -2^31 hingga 2^31-1.

BIGINT

Tidak

100000000000L dan -1L

Tipe integer bertanda 64-bit. Nilai valid: -2^63+1 hingga 2^63-1.

FLOAT

Ya

Tidak ada

Tipe titik apung biner 32-bit.

DOUBLE

Tidak

3.1415926 1E+7

Angka presisi ganda delapan byte (tipe titik apung biner 64-bit).

DECIMAL

Tidak

3.5BD dan 99999999999.9999999BD

Angka desimal eksak. Bagian bilangan bulat berada dalam rentang -1036 + 1 hingga 1036 - 1, dan bagian pecahan akurat hingga 10 hingga 18 tempat desimal.

VARCHAR(n)

Ya

Tidak ada

Tipe karakter panjang variabel, di mana n menentukan panjang. Nilai valid: 1 hingga 65535.

STRING

Tidak

"abc", 'bcd', dan "alibaba"

Tipe string. Ukuran maksimum adalah 8 MB.

BINARY

Ya

Tidak ada

Angka biner. Ukuran maksimum adalah 8 MB.

DATETIME

Tidak

DATETIME '2017-11-11 00:00:00'

Tipe DATETIME. UTC+8 digunakan sebagai zona waktu standar. Nilai valid: 0000-01-01 hingga 9999-12-31, akurat hingga milidetik.

TIMESTAMP

Ya

TIMESTAMP '2017-11-11 00:00:00.123456789'

Tipe data TIMESTAMP, yang independen dari zona waktu. Nilai valid: 0000-01-01 00:00:00.000000000 hingga 9999-12-31 23:59:59.999999999, akurat hingga nanodetik.

BOOLEAN

Tidak

TRUE dan FALSE

Tipe BOOLEAN. Nilai valid: TRUE dan FALSE.

Tabel berikut mencantumkan tipe data kompleks yang didukung dalam tabel eksternal.

Tipe data

Metode kustom

Metode konstruksi

ARRAY

array< int >; array< struct< a:int, b:string >>

array(1, 2, 3); array(array(1, 2); array(3, 4))

MAP

map< string, string >; map< smallint, array< string>>

map("k1", "v1", "k2", "v2"); map(1S, array('a', 'b'), 2S, array('x', 'y))

STRUCT

struct< x:int, y:int>; struct< field1:bigint, field2:array< int>, field3:map< int, int>>

named_struct('x', 1, 'y', 2); named_struct('field1', 100L, 'field2', array(1, 2), 'field3', map(1, 100, 2, 200))

Jika Anda ingin menggunakan tipe data baru yang didukung oleh MaxCompute 2.0, seperti TINYINT, SMALLINT, INT, FLOAT, VARCHAR, TIMESTAMP, BINARY, dan tipe data kompleks, Anda harus menyertakan set odps.sql.type.system.odps2=true; sebelum pernyataan yang digunakan untuk membuat tabel, dan kirimkan pernyataan set bersama dengan pernyataan pembuatan tabel. Jika kompatibilitas dengan Hive diperlukan, kami merekomendasikan agar Anda menyertakan pernyataan odps.sql.hive.compatible=true;.

Lihat dan proses tabel eksternal

Untuk melihat tabel eksternal, lakukan operasi berikut: Pergi ke halaman DataStudio ruang kerja Anda. Di panel navigasi sisi kiri, klik Workspace Tables. Untuk informasi lebih lanjut, lihat Kelola tabel. Tabel eksternal diproses dengan cara yang sama seperti tabel internal.