全部产品
Search
文档中心

DataWorks:Sumber data TOS

更新时间:Dec 06, 2025

Sumber data TOS memungkinkan Anda membaca file dari Tinder Object Storage (TOS). Anda dapat menggunakan sumber data ini untuk mengambil file yang disimpan di TOS, menguraikannya, dan menyinkronkan data tersebut ke sumber data tujuan apa pun. Topik ini menjelaskan kemampuan sinkronisasi data TOS di DataWorks.

Batasan

Sumber data TOS di DataWorks mendukung tipe bidang berikut.

Tipe data

Deskripsi

STRING

Teks.

LONG

Bilangan bulat.

BYTES

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

BOOL

Boolean.

DOUBLE

Bilangan titik mengambang.

DATE

Tanggal dan waktu. Format berikut didukung:

  • YYYY-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

Buat sumber data TOS

Sebelum mengembangkan task sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Data source management. Anda dapat melihat infotips parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.

Kembangkan task sinkronisasi data

Anda hanya dapat menggunakan sumber data TOS sebagai sumber dalam task sinkronisasi offline untuk tabel tunggal. Bagian berikut menjelaskan cara mengonfigurasi task sinkronisasi data tersebut.

Lampiran: Contoh skrip dan deskripsi parameter

Konfigurasikan task sinkronisasi batch menggunakan editor kode

Jika ingin mengonfigurasi task sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai dengan persyaratan format skrip terpadu. Untuk informasi selengkapnya, lihat Configure a task in the code editor. Informasi berikut menjelaskan parameter yang harus Anda konfigurasikan untuk sumber data saat mengonfigurasi task sinkronisasi batch menggunakan editor kode.

Contoh skrip Reader

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "tos",
      "parameter": {
        "datasource": "",
        "object": ["f/z/1.csv"],
        "fileFormat": "csv",
        "encoding": "utf8/gbk/...",
        "fieldDelimiter": ",",
        "useMultiCharDelimiter": true,
        "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. Harus sama dengan nama sumber data yang Anda tambahkan di editor kode.

Ya

Tidak ada

fileFormat

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

Ya

Tidak ada

object

Jalur file. Parameter ini mendukung karakter wildcard asterisk (*) dan array.

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

Bidang yang akan dibaca. Parameter type menentukan tipe data sumber. Parameter index menentukan nomor kolom dalam file teks, dimulai dari 0. Parameter value menentukan nilai konstan. Hal ini membuat kolom dengan nilai konstan alih-alih membaca data dari file sumber.

  • Secara default, Anda dapat membaca semua data sebagai tipe String dengan konfigurasi berikut.

    column": ["*"]
  • Anda dapat menentukan informasi kolom sebagai berikut.

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

Untuk informasi column yang Anda tentukan, Anda harus menentukan parameter type dan salah satu dari parameter index atau value.

Ya

Semua kolom dibaca sebagai tipe STRING.

fieldDelimiter

Pemisah bidang.

Catatan
  • Anda harus menentukan pemisah bidang untuk TOS Reader. Jika tidak ditentukan, koma (,) digunakan sebagai default. Koma (,) juga merupakan nilai default di halaman konfigurasi.

  • Jika pemisahnya adalah karakter non-printable, masukkan encoding Unicode-nya. Misalnya, \u001b atau \u007c.

Ya

,

lineDelimiter

Pemisah baris.

Catatan

Parameter ini hanya berlaku ketika fileFormat diatur ke text.

Tidak

Tidak ada

compress

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

Tidak

None

encoding

Format encoding file.

Tidak

utf-8

nullFormat

String dalam file teks yang merepresentasikan pointer null. Anda dapat menggunakan nullFormat untuk menentukan string mana yang merepresentasikan null karena file teks tidak memiliki cara standar untuk mendefinisikan null. Misalnya:

  • Jika Anda mengatur nullFormat:"null", yang merupakan karakter terlihat, nilai data sumber "null" dianggap sebagai bidang null.

  • Jika Anda mengatur nullFormat:"\u0001", yang merupakan karakter tidak terlihat, nilai data sumber "\u0001" dianggap sebagai bidang null.

  • Jika Anda tidak menentukan parameter "nullFormat", tidak ada konversi yang dilakukan. Data sumber ditulis ke tujuan apa adanya.

Tidak

Tidak ada

skipHeader

Untuk file CSV, gunakan skipHeader untuk mengonfigurasi apakah header dilewati atau tidak.

  • True: Membaca header tabel selama sinkronisasi sumber data.

  • False: Header tabel tidak dibaca selama sinkronisasi sumber data.

Catatan

Parameter skipHeader tidak didukung untuk file terkompresi.

Tidak

false

parquetSchema

Skema file Parquet yang akan dibaca. Parameter ini hanya berlaku ketika fileFormat diatur ke parquet. Pastikan seluruh konfigurasi merupakan JSON yang valid setelah Anda menentukan parquetSchema.

message MessageTypeName {
Rule, DataType, FieldName;
......................;
}
  • Format parquetSchema adalah sebagai berikut:

    • MessageTypeName: Nama tipe pesan.

    • required/optional: Gunakan required untuk bidang non-null dan optional untuk bidang yang bisa null. Kami menyarankan agar Anda mengatur semua bidang sebagai optional.

    • dataType: File Parquet mendukung BOOLEAN, Int32, Int64, Int96, FLOAT, DOUBLE, BINARY, dan fixed_len_byte_array. Jika tipe bidangnya string, gunakan BINARY.

    • Setiap definisi kolom harus diakhiri dengan titik koma (;), termasuk yang terakhir.

  • Berikut adalah contoh konfigurasi:

    "parquetSchema": "message m { 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

Konfigurasi parameter untuk membaca file CSV. Nilainya bertipe Map. csvReader digunakan untuk membaca file CSV. Jika Anda tidak mengonfigurasi parameter ini, nilai default akan digunakan.

Tidak

Tidak ada