全部产品
Search
文档中心

DataWorks:Sumber data COS

更新时间:Nov 10, 2025

Sumber data COS memungkinkan Anda membaca file. Anda dapat menggunakan sumber data ini untuk mengambil file yang disimpan di COS, menguraikannya, dan menyinkronkannya ke sumber data tujuan apa pun. Topik ini menjelaskan kemampuan sinkronisasi data DataWorks untuk COS.

Tipe data

Sumber data COS mendukung tipe data berikut.

Tipe data

Deskripsi

STRING

Tipe teks.

LONG

Tipe bilangan bulat.

BYTES

Array byte. Konten teks yang dibaca dikonversi menjadi array byte dengan encoding UTF-8.

BOOL

Tipe boolean.

DOUBLE

Tipe bilangan pecahan (floating-point).

DATE

Tipe tanggal dan waktu. Format yang didukung: YYYY-MM-dd HH:mm:ss dan yyyy-MM-ddHH:mm:ss

Buat sumber data

Untuk mengembangkan tugas sinkronisasi data, buat sumber data yang sesuai di DataWorks. Untuk informasi lebih lanjut mengenai prosedurnya, lihat Manajemen Sumber Data. Untuk deskripsi detail parameter konfigurasi, lihat prompt pada halaman konfigurasi.

Parameter utama dijelaskan di bawah ini.

Parameter

Deskripsi

Data Source Name

Nama sumber data. Nama harus unik dalam ruang kerja. Nama harus terdiri dari huruf, angka, dan garis bawah (_). Nama tidak boleh dimulai dengan angka atau garis bawah.

Region

Wilayah tempat bucket berada. Masukkan ID wilayah. Untuk informasi selengkapnya, lihat Regions and Endpoints.

Bucket

Nama bucket COS.

Endpoint

Titik akhir COS. Untuk informasi selengkapnya, lihat Regions and Endpoints.

AccessKey ID

Parameter ini sesuai dengan SecretId pada platform Tencent Cloud. Untuk mendapatkan SecretId, buka halaman API Key Management di konsol.

AccessKey Secret

Parameter ini sesuai dengan SecretKey pada platform Tencent Cloud. Untuk mendapatkan SecretKey, buka halaman API Key Management di konsol.

Kembangkan tugas sinkronisasi data

Untuk informasi mengenai titik masuk dan proses umum konfigurasi tugas sinkronisasi data, lihat petunjuk pada bagian-bagian berikut.

Konfigurasikan tugas sinkronisasi offline untuk satu tabel

Untuk informasi lebih lanjut mengenai prosedurnya, lihat Konfigurasikan tugas di antarmuka tanpa kode dan Konfigurasikan tugas di editor kode. Untuk semua parameter dan contoh skrip editor kode, lihat Lampiran: Contoh skrip dan parameter.

Lampiran: Contoh skrip dan parameter

Konfigurasikan skrip tugas offline

Jika Anda menggunakan editor kode untuk mengonfigurasi tugas offline, Anda harus menulis parameter dalam skrip tugas sesuai dengan format skrip yang ditentukan. Untuk informasi selengkapnya, lihat Konfigurasikan tugas di editor kode. Bagian berikut menjelaskan parameter sumber data untuk editor kode.

Contoh skrip Reader

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "cos",
      "parameter": {
        "datasource": "",
        "object": ["f/z/1.csv"],
        "fileFormat": "csv",
        "encoding": "utf8/gbk/...",
        "fieldDelimiter": ",",
        "useMultiCharDelimiter": true,
        "lineDelimiter": "\n",
        "skipHeader": true,
        "compress": "zip/gzip",
        "column": [
          {
            "index": 0,
            "type": "long"
          },
          {
            "index": 1,
            "type": "boolean"
          },
          {
            "index": 2,
            "type": "double"
          },
          {
            "index": 3,
            "type": "string"
          },
          {
            "index": 4,
            "type": "date"
          }
        ]
      },
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Writer",
      "category": "writer"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 1
    }
  },
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  }
}

Parameter skrip Reader

Parameter

Deskripsi

Wajib

Nilai default

datasource

Nama sumber data. Editor kode mendukung penambahan sumber data. Nilai parameter ini harus sama dengan nama sumber data yang ditambahkan.

Ya

Tidak ada

fileFormat

Format file sumber. Nilai yang valid: csv, text, parquet, dan orc.

Ya

Tidak ada

object

Jalur file. Parameter ini mendukung karakter wildcard asterisk (*) dan dapat dikonfigurasi sebagai larik.

Misalnya, untuk menyinkronkan file a/b/1.csv dan a/b/2.csv, Anda dapat mengatur parameter ini menjadi a/b/*.csv.

Ya

Tidak ada

column

Daftar bidang yang akan dibaca. `type` menentukan tipe data di sumber. `index` menentukan nomor kolom dalam file teks tempat data dibaca. Nilai `index` dimulai dari 0. `value` menentukan bahwa tipe saat ini adalah konstanta. Data tidak dibaca dari file sumber. Sebaliknya, kolom yang sesuai secara otomatis dihasilkan berdasarkan nilai `value`.

Secara default, Anda dapat membaca semua data sebagai tipe STRING. Konfigurasinya sebagai berikut.

"column": ["*"]

Anda juga dapat menentukan informasi bidang kolom. Konfigurasinya sebagai berikut.

"column":    
    {       
        "type": "long",       
        "index": 0 // Membaca bidang bilangan bulat dari kolom pertama file teks COS.
    },    
    {       
        "type": "string",       
        "value": "alibaba" // Menghasilkan bidang string dengan nilai "alibaba" sebagai bidang saat ini.    
}
Catatan

Dalam informasi column yang ditentukan, Anda harus menentukan `type`. Anda harus menentukan salah satu dari `index` atau `value`.

Ya

Semua data dibaca sebagai tipe STRING.

fieldDelimiter

Pemisah bidang. Saat COS Reader membaca data, Anda harus menentukan pemisah bidang. Jika Anda tidak menentukan parameter ini, nilai default-nya adalah koma (,). Koma juga digunakan secara otomatis di antarmuka pengguna. Jika pemisahnya adalah karakter tak terlihat, masukkan encoding Unicode-nya. Contoh: \u001b dan \u007c.

Ya

,

lineDelimiter

Pemisah baris. Parameter ini hanya berlaku ketika `fileFormat` diatur ke `text`.

Tidak

Tidak ada

compress

Format kompresi file teks. Secara default, parameter ini dibiarkan kosong, yang menunjukkan bahwa file tidak dikompresi. Format kompresi yang didukung: gzip, bzip2, dan zip.

Tidak

Tidak dikompresi

encoding

Format encoding file yang akan dibaca.

Tidak

utf-8

nullFormat

Dalam file teks, Anda tidak dapat menggunakan string standar untuk mendefinisikan pointer null. Sistem sinkronisasi data menyediakan parameter `nullFormat` untuk mendefinisikan string mana yang dapat merepresentasikan null. Misalnya:

  • Jika Anda mengatur nullFormat ke "null", yaitu karakter yang terlihat, dan data sumber adalah `null`, maka data tersebut dianggap sebagai bidang null dan ditulis ke tabel tujuan.

  • Jika Anda mengatur nullFormat ke "\u0001", yaitu karakter tak terlihat, dan data sumber adalah string "\u0001", maka bidang tersebut dianggap sebagai bidang null dan ditulis ke tabel tujuan.

  • Jika Anda tidak menentukan parameter nullFormat, data sumber ditulis ke tujuan tanpa konversi apa pun.

Tidak

Tidak ada

skipHeader

Untuk file CSV, gunakan parameter skipHeader untuk menentukan apakah header tabel akan dibaca.

  • True: Header tabel dibaca selama sinkronisasi data.

  • False: Header tabel tidak dibaca selama sinkronisasi data.

Catatan

Parameter skipHeader tidak didukung untuk file terkompresi.

Tidak

false

parquetSchema

Parameter ini diperlukan saat Anda membaca file COS dalam format Parquet. Parameter ini hanya berlaku ketika fileFormat diatur ke parquet. Parameter ini mendefinisikan struktur data. Format umumnya sebagai berikut:

message MessageTypeName {
Required/Optional DataType ColumnName;
Required/Optional DataType ColumnName;
......................;
}

Format `parquetSchema` adalah sebagai berikut:

  • MessageTypeName: Masukkan nama.

  • Required/Optional: `required` menunjukkan bahwa bidang tidak boleh null. `optional` menunjukkan bahwa bidang boleh null. Kami menyarankan agar Anda mengatur semua bidang ke `optional`.

  • DataType: File Parquet mendukung tipe data berikut: BOOLEAN, Int32, Int64, Int96, FLOAT, DOUBLE, BINARY (gunakan BINARY untuk tipe string), dan fixed_len_byte_array. Setiap pengaturan baris harus diakhiri dengan titik koma (;), termasuk baris terakhir.

Kode berikut memberikan contoh konfigurasi.

{"parquetSchema": "message UserProfile 
{ optional int32 minute_id; 
  optional int32 dsp_id; 
  optional int32 adx_pid; 
  optional int64 req; 
  optional int64 res; 
  optional int64 suc; 
  optional int64 imp; 
  optional double revenue; }"
}

Tidak

Tidak ada

csvReaderConfig

Parameter untuk membaca file CSV. Nilainya berupa peta (map). CsvReader digunakan untuk membaca file CSV. Jika Anda tidak mengonfigurasi parameter ini, nilai default akan digunakan.

Tidak

Tidak ada