全部产品
Search
文档中心

ApsaraDB for SelectDB:Ekspor data menggunakan pernyataan SELECT INTO OUTFILE

更新时间:Jul 30, 2025

Untuk mencadangkan atau memigrasi data dari instans ApsaraDB for SelectDB, Anda dapat menggunakan pernyataan SELECT INTO OUTFILE untuk mengekspor data dari instans SelectDB ke dalam file. File tersebut dapat disimpan di sistem penyimpanan jarak jauh seperti Object Storage Service (OSS) dan Sistem File Terdistribusi Hadoop (HDFS) melalui protokol Amazon Simple Storage Service (Amazon S3) dan HDFS.

Ikhtisar

Anda dapat menggunakan pernyataan SELECT INTO OUTFILE untuk mencadangkan atau memigrasi data dari instans SelectDB. Pernyataan ini memiliki karakteristik berikut:

  • Pernyataan ini dijalankan secara sinkron.

    • Setelah menjalankan pernyataan ini, baris yang menggambarkan status pekerjaan ekspor data akan segera dikembalikan.

    • Karena mekanisme sinkronisasi, status pekerjaan ekspor data hanya dikembalikan setelah Anda menjalankan pernyataan ini. Jika koneksi terputus, status pekerjaan tidak dikembalikan, sehingga Anda tidak dapat menentukan apakah semua data yang di-query telah diekspor. Untuk mencegah masalah ini, kami sarankan Anda mengonfigurasi pengaturan "success_file_name" = "SUCCESS" di Properties saat membuat pekerjaan ekspor data. Dengan cara ini, jika pekerjaan berhasil, file identifikasi akan dibuat di direktori tempat file yang diekspor disimpan, dan Anda dapat menggunakannya untuk memverifikasi apakah semua data telah diekspor.

  • Pernyataan ini dijalankan dengan melakukan query SQL.

    Secara default, hanya satu thread yang digunakan selama eksekusi.

  • Durasi ekspor dihitung menggunakan rumus berikut: Total durasi eksekusi = Durasi eksekusi query + Waktu yang diperlukan untuk mengembalikan set hasil.

    Jika Anda ingin meng-query sejumlah besar data, konfigurasikan variabel sesi query_timeout untuk memperpanjang periode timeout query. Untuk informasi lebih lanjut tentang cara mengonfigurasi variabel sesi, lihat Manajemen Variabel.

  • Pernyataan ini mengekspor hasil query ke dalam file.

    File-file tersebut dapat disimpan di sistem penyimpanan jarak jauh seperti OSS dan HDFS melalui protokol Amazon S3 dan HDFS.

  • Pernyataan ini tidak memeriksa apakah file yang diekspor dan jalur file ada.

    Pernyataan ini tidak secara otomatis membuat jalur atau menimpa file yang sudah ada. Operasi yang dapat dilakukan oleh pernyataan ini ditentukan oleh sistem penyimpanan jarak jauh seperti protokol Amazon S3 dan HDFS.

    SelectDB tidak mengelola file yang diekspor. Anda harus mengelola file yang dihasilkan oleh pekerjaan ekspor data yang berhasil dan file sisa yang dihasilkan oleh pekerjaan ekspor data yang gagal di sistem penyimpanan jarak jauh.

Batasan

Pernyataan ini dapat digunakan untuk mengekspor data melalui protokol Amazon S3 dan HDFS.

Catatan Penggunaan

  • Format file yang diekspor bervariasi berdasarkan tipe data.

    • Tipe data dasar: Format file CVS, CSV_with_names, CVS_with_names_and_types, Parquet, dan Optimized Row Columnar (ORC) didukung.

    • Tipe data kompleks:

      • Data tipe ARRAY, MAP, dan STRUCT dapat diekspor ke file dengan format berikut: CSV, CSV_WITH_NAMES, CSV_WITH_NAMES_AND_TYPES, dan ORC.

      • Data bersarang tidak dapat diekspor.

  • Catatan penggunaan untuk file hasil:

    • Jika set hasil kosong, file tetap akan dibuat.

    • Pembagian file memastikan bahwa setiap file segmen menyimpan baris data yang lengkap. Oleh karena itu, ukuran file segmen mungkin sedikit berbeda dari nilai parameter max_file_size.

  • Catatan penggunaan untuk isi file hasil:

    • Jika output fungsi, seperti fungsi BITMAP atau HyperLogLog (HLL), berisi karakter tak terlihat, \N akan dikembalikan. Ini menunjukkan bahwa fungsi mengembalikan nilai null.

    • Output beberapa fungsi yang digunakan dalam database geospasial adalah karakter biner yang dikodekan. Kami sarankan Anda menggunakan fungsi ST_AsText. Fungsi-fungsi yang digunakan dalam database geospasial termasuk ST_CIRCLE, ST_POINT, ST_POLYGON, ST_GEOMETRYFROMTEXT, ST_LINEFROMTEXT, dan ST_GEOMETRYFROMWKB.

Sintaks

query_stmt
INTO OUTFILE "file_path"
[format_as]
[properties]

Parameter

Parameter

Wajib

Deskripsi

query_stmt

Ya

Dataset yang ingin Anda ekspor. Anda dapat menggunakan pernyataan SELECT untuk meng-query dataset.

file_path

Ya

Jalur tempat file yang diekspor disimpan dan awalan nama file yang diekspor.

Anda dapat menghilangkan awalan nama file dan hanya menentukan direktori file. Contoh: "hdfs://path/to/".

Jika Anda menghilangkan awalan nama file, file yang diekspor akan diberi nama dalam format berikut: Nama instans_Nomor urut file+Ekstensi nama file.

  • Nomor urut file dimulai dari 0 dan mewakili jumlah file segmen.

    Jika hanya satu file yang diekspor, nomor urut file tidak diperlukan.

  • Ekstensi nama file default adalah .csv. Anda dapat menggunakan format_as untuk menentukan ekstensi nama file lainnya.

Contoh nilai file_path:

  • "s3://bucket_name/to/my_file_"

  • "hdfs://path/to/my_file_"

Deskripsi:

  • Awalan file adalah my_file_.

  • Jika Anda menyetel format_as ke CSV, ekstensi nama file adalah .csv.

  • Periksa apakah hanya satu file yang diekspor:

    • Jika hanya satu file yang diekspor, nomor urut file tidak diperlukan, dan nama file adalah my_file_Nama instans_0.csv.

    • Jika beberapa file diekspor, Anda harus memperhatikan hal-hal berikut:

      • Nomor urut file dimulai dari 0 dan bertambah satu.

      • Nomor urut mewakili jumlah file segmen.

      Contoh:

      my_file_abcdefg_0.csv
      my_file_abcdefg_1.csv
      my_file_abcdegf_2.csv
      ...

format_as

Tidak

Format file yang diekspor.

  • CSV, Parquet, CSV_WITH_NAMES, CSV_WITH_NAMES_AND_TYPES, dan ORC didukung.

  • Jika Anda mengosongkan parameter ini, file CSV akan diekspor secara otomatis.

properties

Tidak

Properti terkait file yang diekspor dan protokol HDFS dan Amazon S3. Untuk informasi lebih lanjut, lihat Sintaks objek properties.

Catatan

Anda dapat mengekspor data melalui protokol Amazon S3 atau HDFS.

Sintaks objek properties

Kode sampel berikut menunjukkan contoh sintaks objek properties. Anda dapat menentukan properti terkait file yang diekspor, protokol HDFS, dan protokol Amazon S3.

[PROPERTIES ("key"="value", ...)]
  • Properti terkait file

    Parameter

    Wajib

    Deskripsi

    column_separator

    Tidak

    Pemisah kolom, yang hanya digunakan untuk file tipe CSV.

    line_delimiter

    Tidak

    Pemisah baris, yang hanya digunakan untuk file tipe CSV.

    max_file_size

    Tidak

    Ukuran maksimum file. Jika ukuran hasil query melebihi nilai ini, beberapa file segmen akan dibuat.

    • Nilai valid: [5 MB, 2 GB].

    • Nilai default: 1 GB.

    Jika Anda menyetel format_as ke ORC, ukuran file segmen dihitung menggunakan rumus berikut: ceil (max_file_size/64) × 64 MB.

    delete_existing_files

    Tidak

    Menentukan apakah akan menghapus semua file di direktori yang ditentukan oleh parameter file_path. Nilai valid:

    • false (default): tidak menghapus semua file di direktori yang ditentukan oleh parameter file_path tetapi langsung mengekspor file.

    • true: menghapus semua file di direktori yang ditentukan oleh parameter file_path dan menambahkan data yang diekspor ke direktori. Contoh:

      • Jika Anda menggunakan pengaturan "file_path" = "/user/tmp", semua file dan direktori di path "/user/" akan dihapus.

      • Jika Anda menggunakan pengaturan "file_path" = "/user/tmp/", semua file dan direktori di path "/user/tmp/" akan dihapus.

    Peringatan
    • Jika Anda menggunakan pengaturan delete_existing_files = true, risiko mungkin terjadi. Kami sarankan Anda hanya melakukan operasi ini di lingkungan pengujian.

    • Untuk menentukan parameter delete_existing_files, ajukan tiket untuk menghubungi dukungan teknis Alibaba Cloud. Tim dukungan teknis SelectDB menambahkan pengaturan enable_delete_existing_files = true ke file fe.conf dan memulai ulang antarmuka depan agar parameter delete_existing_files berlaku.

    file_suffix

    Tidak

    Ekstensi nama file dari file yang diekspor. Jika parameter ini tidak ditentukan, ekstensi nama file default akan digunakan.

  • Properti terkait HDFS

    Parameter

    Wajib

    Deskripsi

    fs.defaultFS

    Ya

    Titik akhir dan port NameNode.

    hadoop.username

    Ya

    Nama pengguna yang digunakan untuk masuk ke HDFS.

    dfs.nameservices

    Ya

    Nama Layanan Nama. Nilai parameter ini sama dengan yang ada di file hdfs-site.xml.

    dfs.ha.namenodes.[nameservice ID]

    Ya

    ID NameNode dalam Layanan Nama. Nilai parameter ini sama dengan yang ada di file hdfs-site.xml.

    dfs.namenode.rpc-address.[nameservice ID].[name node ID]

    Ya

    URL Remote Procedure Call (RPC) dari NameNode. Setiap URL RPC sesuai dengan satu NameNode. Nilai parameter ini sama dengan yang ada di file hdfs-site.xml.

    dfs.client.failover.proxy.provider.[nameservice ID]

    Ya

    Kelas Java yang mengimplementasikan koneksi NameNode aktif untuk klien HDFS. Nilai default: org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider.

    Jika Otentikasi Kerberos diaktifkan untuk kluster Hadoop, Anda juga harus menentukan properti berikut.

    Parameter

    Wajib

    Deskripsi

    dfs.namenode.kerberos.principal

    Ya

    Nama principal Kerberos dari NameNode HDFS.

    hadoop.security.authentication

    Ya

    Metode autentikasi. Atur parameter ini ke kerberos untuk mengaktifkan Otentikasi Kerberos.

    hadoop.kerberos.principal

    Ya

    Principal untuk Otentikasi Kerberos.

    hadoop.kerberos.keytab

    Ya

    Jalur ke file keytab Kerberos.

  • Properti terkait Amazon S3

    Tabel berikut menjelaskan properti yang dapat Anda atur untuk sistem penyimpanan yang mendukung protokol Amazon S3. Sistem penyimpanan ini termasuk Amazon S3 dan OSS.

    Parameter

    Wajib

    Deskripsi

    s3.endpoint

    Ya

    Titik akhir sistem penyimpanan tujuan.

    s3.access_key

    Ya

    Kunci akses yang digunakan untuk mengotentikasi permintaan Anda untuk mengakses sistem penyimpanan tujuan.

    s3.secret_key

    Ya

    Kunci rahasia yang digunakan untuk mengotentikasi permintaan Anda untuk mengakses sistem penyimpanan tujuan.

    s3.region

    Ya

    Wilayah tempat sistem penyimpanan tujuan berada.

    s3.session_token

    Ya

    Token sesi yang digunakan untuk kredensial sesi sementara untuk mengakses sistem penyimpanan tujuan. Parameter ini diperlukan jika otentikasi sesi sementara diaktifkan.

    use_path_style

    Tidak

    Menentukan apakah akan mengakses sistem penyimpanan tujuan dalam gaya jalur. Nilai default: false.

    Secara default, SDK Amazon S3 menggunakan gaya virtual-hosted untuk mengakses sistem penyimpanan tujuan. Namun, beberapa sistem penyimpanan objek mungkin tidak mendukung gaya virtual-hosted. Dalam hal ini, Anda dapat menentukan parameter use_path_style untuk memaksa mengakses sistem penyimpanan tujuan dalam gaya jalur.

    Catatan

    Skema URI berikut didukung: http://, https://, dan s3://.

    1. Jika Anda menggunakan http:// atau https://, parameter use_path_style digunakan untuk menentukan apakah akan mengakses sistem penyimpanan tujuan dalam gaya jalur.

    2. Jika Anda menggunakan s3://, sistem penyimpanan tujuan diakses dalam gaya virtual-hosted.

Parameter respons

Data diekspor secara sinkron. Ketika hasil dikembalikan, eksekusi pernyataan selesai. Baris dalam hasil yang dikembalikan menunjukkan hasil dari ekspor data.

  • Jika eksekusi berhasil, informasi berikut akan dikembalikan:

    SELECT * FROM tbl1 LIMIT 10 into outfile "file:///home/work/path/result_";
    +------------+-----------+----------+--------------------------------------------------------------------+
    | FileNumber | TotalRows | FileSize | URL                                                                |
    +------------+-----------+----------+--------------------------------------------------------------------+
    |          1 |         2 |        8 | file:///192.168.1.10/home/work/path/result_{fragment_instance_id}_ |
    +------------+-----------+----------+--------------------------------------------------------------------+
    1 row in set (0.05 sec)

    Tabel berikut menjelaskan parameter respons.

    Parameter

    Deskripsi

    FileNumber

    Jumlah file yang dihasilkan.

    TotalRows

    Jumlah baris yang dikembalikan dalam set hasil.

    FileSize

    Ukuran total file yang diekspor. Satuan: byte.

    URL

    Node komputasi tempat data diekspor jika data diekspor ke disk lokal.

  • Jika ekspor paralel dilakukan, beberapa baris data akan dikembalikan.

    +------------+-----------+----------+--------------------------------------------------------------------+
    | FileNumber | TotalRows | FileSize | URL                                                                |
    +------------+-----------+----------+--------------------------------------------------------------------+
    |          1 |         3 |        7 | file:///192.168.1.10/home/work/path/result_{fragment_instance_id}_ |
    |          1 |         2 |        4 | file:///192.168.1.11/home/work/path/result_{fragment_instance_id}_ |
    +------------+-----------+----------+--------------------------------------------------------------------+
    2 rows in set (2.218 sec)
  • Jika eksekusi gagal, pesan kesalahan akan dikembalikan. Pernyataan SQL berikut menunjukkan contoh.

    SELECT * FROM tbl INTO OUTFILE ...
    ERROR 1064 (HY000): errCode = 2, detailMessage = ...

Ekspor Paralel

Secara default, ekspor set hasil query tidak paralel, dan satu thread pada node BE digunakan untuk mengekspor data dan mengembalikan set hasil. Oleh karena itu, durasi ekspor memiliki korelasi positif dengan ukuran set hasil.

Anda dapat menggunakan ekspor paralel untuk mempercepat ekspor data. Untuk mengaktifkan ekspor paralel, lakukan langkah-langkah berikut:

  1. Atur variabel sesi set enable_parallel_outfile menjadi true.

  2. Periksa apakah set hasil query mendukung ekspor paralel.

    Setelah mengaktifkan ekspor paralel, gunakan pernyataan EXPLAIN untuk memeriksa apakah ekspor paralel didukung. Sintaks:

    EXPLAIN <select_into_outfile>;

    Jalankan pernyataan SELECT INTO OUTFILE. Untuk informasi lebih lanjut tentang sintaks, lihat Sintaks.

    Setelah menjalankan pernyataan EXPLAIN, SelectDB segera mengembalikan rencana query. Anda harus menganalisis rencana query dan memeriksa apakah ekspor paralel didukung.

  • Jika RESULT FILE SINK ditampilkan di PLAN FRAGMENT 1, ekspor paralel didukung.

    Jika ekspor paralel didukung, Anda dapat menggunakan be_instance_num * parallel_fragment_exec_instance_num untuk menghitung jumlah permintaan yang dapat diproses secara bersamaan oleh satu instans SelectDB.

    • be_instance_num menentukan jumlah node dalam kluster BE.

      • Jika kluster menyediakan hingga 32 core CPU, kluster hanya berisi satu node.

      • Jika kluster menyediakan setidaknya 32 core CPU, kluster berisi beberapa node, dan setiap node memiliki 32 core CPU.

    • parallel_fragment_exec_instance_num menentukan parameter paralel.

      Anda dapat menjalankan pernyataan berikut untuk melihat parameter:

      SHOW variables LIKE  '% parallel_fragment_exec_instance_num%'; 

      Anda dapat menjalankan pernyataan berikut untuk mengonfigurasi parameter:

      SET  parallel_fragment_exec_instance_num = <parallel_fragment_exec_instance_num>;  
  • Jika RESULT FILE SINK ditampilkan di PLAN FRAGMENT 0, ekspor paralel tidak didukung.

    Dalam rencana query sampel berikut dari pekerjaan SELECT INTO OUTFILERESULT FILE SINK ditampilkan di PLAN FRAGMENT 0. Dalam hal ini, ekspor paralel tidak didukung.

    Sample parallel export plan:
    +-----------------------------------------------------------------------------+
    | Explain String                                                              |
    +-----------------------------------------------------------------------------+
    | PLAN FRAGMENT 0                                                             |
    |  OUTPUT EXPRS:<slot 2> | <slot 3> | <slot 4> | <slot 5>                     |
    |   PARTITION: UNPARTITIONED                                                  |
    |                                                                             |
    |   RESULT SINK                                                               |
    |                                                                             |
    |   1:EXCHANGE                                                                |
    |                                                                             |
    | PLAN FRAGMENT 1                                                             |
    |  OUTPUT EXPRS:`k1` + `k2`                                                   |
    |   PARTITION: HASH_PARTITIONED: `default_cluster:test`.`multi_tablet`.`k1`   |
    |                                                                             |
    |   RESULT FILE SINK                                                          |
    |   FILE PATH: s3://ml-bd-repo/bpit_test/outfile_1951_                        |
    |   STORAGE TYPE: S3                                                          |
    |                                                                             |
    |   0:OlapScanNode                                                            |
    |      TABLE: multi_tablet                                                    |
    +-----------------------------------------------------------------------------+
  • Buat pekerjaan ekspor data untuk mengekspor data berdasarkan sintaks.

Contoh

Ekspor data melalui protokol HDFS

Ekspor hasil query sederhana ke file CSV. Contoh:

Catatan

Saat mengekspor data melalui protokol HDFS, nilai PROPERTIES dari SELECT INTO OUTFILE bervariasi berdasarkan status ketersediaan tinggi untuk kluster Hadoop.

Ketersediaan tinggi dinonaktifkan untuk kluster Hadoop

-- fileSystem_port Nilai default: 9000.
SELECT * FROM tbl
INTO OUTFILE "hdfs://${host}:${fileSystem_port}/path/to/result_"
FORMAT AS CSV
PROPERTIES
(
    "fs.defaultFS" = "hdfs://ip:port",
    "hadoop.username" = "work"
);

Ketersediaan tinggi diaktifkan untuk kluster Hadoop

--HA fileSystem_port Nilai default: 8020.
SELECT * FROM tbl
INTO OUTFILE "hdfs:///path/to/result_"
FORMAT AS CSV
PROPERTIES
(
'fs.defaultFS'='hdfs://hacluster/',
'dfs.nameservices'='hacluster',
'dfs.ha.namenodes.hacluster'='n1,n2',
'dfs.namenode.rpc-address.hacluster.n1'='192.168.0.1:8020',
'dfs.namenode.rpc-address.hacluster.n2'='192.168.0.2:8020',
'dfs.client.failover.proxy.provider.hacluster'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider'
);

Jika ukuran file total kurang dari atau sama dengan 1 GB, file result_0.csv akan dibuat. Jika ukuran file total lebih besar dari 1 GB, beberapa file segmen bernama result_0.csv, result_1.csv, ... akan dibuat.

Ekspor data ke file melalui protokol Amazon S3

Ekspor hasil query dari pernyataan UNION ke file. Tentukan bahwa data yang diekspor disimpan di bucket OSS bernama oss-bucket yang berada di wilayah China (Hangzhou). Tentukan bahwa file yang diekspor dalam format PARQUET. Anda tidak perlu menentukan pemisah kolom. Tentukan bahwa file dibuat sebagai pengenal setelah data diekspor. Kode sampel:

SELECT k1 FROM tbl1 UNION SELECT k2 FROM tbl1
INTO OUTFILE "s3://oss-bucket/result_"
FORMAT AS PARQUET
PROPERTIES
(
    "s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com",
    "s3.access_key" = "****",
    "s3.secret_key" = "****",
    "s3.region" = "cn-hangzhou"
);
Penting

Jika Anda mengekspor data melalui protokol Amazon S3, Anda harus menggunakan http://, https://, atau s3:// sebagai skema URI di awal URL sistem penyimpanan tujuan terlepas dari penyedia layanan cloud. Jika tidak, pesan kesalahan ERROR 1105 (HY000): errCode = 2, detailMessage = Unknown properties: [s3.region, s3.endpoint, s3.secret_key, s3.access_key] akan ditampilkan.

OSS Ekspor data ke bucket OSS melalui protokol Amazon S3

Ekspor data ke OSS melalui protokol Amazon S3. Kode sampel:

SET enable_parallel_outfile = true;

SELECT k1 FROM tb1 LIMIT 1000
INTO outfile "s3://my_bucket/export/my_file_"
format AS csv
properties
(
    "s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com",
    "s3.access_key" = "****",
    "s3.secret_key" = "****",
    "s3.region" = "cn-hangzhou"
)

Dalam set hasil yang sama, hasil query berisi ORDER BY k1, yang menunjukkan bahwa hasil yang dikembalikan diurutkan berdasarkan nilai yang ditentukan. Oleh karena itu, meskipun ekspor paralel diaktifkan untuk permintaan ini, data tidak diekspor secara bersamaan. Kode sampel:

SET enable_parallel_outfile = true;

SELECT k1 FROM tb1 ORDER BY k1 LIMIT 1000
INTO outfile "s3://my_bucket/export/my_file_"
format AS csv
properties
(
    "s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com",
    "s3.access_key" = "****",
    "s3.secret_key" = "****",
    "s3.region" = "cn-hangzhou"
)

Pemetaan tipe data

File Parquet dan ORC mendukung tipe data yang berbeda. SelectDB menyediakan fitur ekspor data untuk secara otomatis mengekspor data dari instans SelectDB ke data dengan tipe yang didukung oleh file Parquet dan ORC.

  • Tabel berikut menjelaskan pemetaan tipe data antara data SelectDB dan data dalam file ORC.

    Tipe data ApsaraDB for SelectDB

    Tipe data yang didukung oleh file ORC

    BOOLEAN

    BOOLEAN

    TINYINT

    TINYINT

    SMALLINT

    SMALLINT

    INT

    INT

    BIGINT

    BIGINT

    LARGEINT

    STRING

    DATE

    STRING

    DATEV2

    STRING

    DATETIME

    STRING

    DATETIMEV2

    TIMESTAMP

    FLOAT

    FLOAT

    DOUBLE

    DOUBLE

    CHAR / VARCHAR / STRING

    STRING

    DECIMAL

    DECIMAL

    STRUCT

    STRUCT

    MAP

    MAP

    ARRAY

    ARRAY

  • Jika Anda mengekspor data dari memori instans SelectDB ke file Parquet, data pertama kali dipetakan ke tipe data yangdidukung oleh Apache Arrow dan kemudian ditulis ke file Parquet oleh Apache Arrow. Tabel berikut menjelaskan pemetaan tipe data antara SelectDB dan data Apache Arrow.

    Tipe data ApsaraDB for SelectDB

    Tipe data Apache Arrow

    BOOLEAN

    BOOLEAN

    TINYINT

    INT8

    SNALLINT

    INT16

    INT

    INT32

    BIGINT

    INT64

    LARGEINT

    UTF8

    DATE

    UTF8

    DATEV2

    UTF8

    DATETIME

    UTF8

    DATETIMEV2

    UTF8

    FLOAT

    FLOAT32

    DOUBLE

    FLOAT64

    CHAR / VARCHAR / STRING

    UTF8

    DECIMAL

    DECIMAL128

    STRUCT

    STRUCT

    MAP

    MAP

    ARRAY

    LIST