Real-Time Market AnalyticsClickHouse Workshops

03 Muat data — dua cara

26.5M tick yang sama dimuat dua kali: ClickPipes, pipeline terkelola yang akan Anda pakai di produksi, lalu one-liner s3() — dan kapan memilih yang mana.

Datanya tersimpan di bucket S3 publik, jadi tidak perlu key atau kredensial apa pun — Anda cukup mengarahkan ke URL-nya. Transfernya berjalan di sisi server dari S3 ke ClickHouse, jadi 26.5 juta baris tidak dialirkan lewat laptop Anda dan tidak bergantung pada Wi-Fi tempat acara.

Anda akan memuat 26.5M tick yang sama dengan dua cara berbeda supaya bisa melihat keduanya. Metode 1 adalah ClickPipes, pipeline terkelola berbasis klik yang akan Anda pakai di produksi. Metode 2 adalah satu baris SQL — cara tercepat memasukkan data saat demo. Kerjakan berurutan; satu TRUNCATE di antaranya menjaga jumlah barisnya tetap bersih.

Metode 1 — ClickPipes, cara terkelola untuk produksi

ClickPipes adalah layanan ingesti yang sepenuhnya terkelola: arahkan ke object storage atau sebuah stream dan ia akan terus memuat data, tanpa konektor yang perlu Anda bangun. Ini keseluruhan alurnya.

  1. Di menu sebelah kiri, klik Data sources, lalu tombol Create ClickPipe.

Halaman Data sources ClickHouse Cloud dengan tombol Create ClickPipe disorot

Data sources juga tempat "Upload file" dan "Add sample data" berada.

  1. Di bawah Select the data source, pilih Amazon S3 (paling atas pada daftar Popular).

Langkah Select the data source yang menampilkan Amazon S3 sebagai opsi populer pertama

  1. Pada Setup your ClickPipe connection, beri name apa saja, atur Authentication method → Public (bucket-nya publik), dan tempelkan ini ke S3 file path:
https://partner-workshop.s3.ap-southeast-1.amazonaws.com/fx/ticks.parquet

Biarkan Continuous ingestion tetap off — ini file sekali pakai — lalu klik Incoming data →.

Setup your ClickPipe connection: name, Authentication method disetel ke Public, dan S3 file path sudah terisi

  1. Pada Incoming data, ClickHouse menampilkan pratinjau file yang cocok — Anda akan melihat fx/ticks.parquet sebesar 158.43 MB. Pastikan File type → Parquet, biarkan kompresi pada Detect automatically, lalu klik Parse information →.

Langkah Incoming data yang menampilkan pratinjau fx/ticks.parquet sebesar 158.43 MB dengan File type disetel ke Parquet

  1. Pada Parse information, ClickHouse menampilkan pratinjau satu baris contoh dan mendeteksi kolomnya. Di bawah Upload data to, pilih Existing table, pilih Database yang memuat tabel Anda (biasanya default), dan atur Table → forex. Periksa bahwa field sumber (datetime, bid, ask, base, quote) sejajar dengan kolom yang sesuai — semuanya seharusnya terpetakan otomatis. Biarkan field tambahan _path / _file / _size tidak terpetakan. Lalu klik Details and settings →.

Langkah Parse information: Upload data to Existing table, database dan tabel forex terpilih, field sumber terpetakan ke kolom

Tangkapan layar ini menunjukkan database techthai milik presenter — gunakan database mana pun yang memuat tabel Anda.

  1. Pada Details and settings, biarkan Permissions default sebagaimana adanya (ClickPipes membuatkan user writer khusus untuk Anda), lalu klik Create ClickPipe.

Langkah Details and settings yang menampilkan Permissions dan tombol Create ClickPipe

Tanpa job Spark, tanpa loader buatan sendiri.

  1. Anda dibawa kembali ke Data sources, tempat ClickPipe Anda muncul. Dalam beberapa detik Status-nya berubah menjadi Completed dan Records menunjukkan 26,488,218 — semua tick termuat dari object storage.

Daftar Data sources yang menampilkan ClickPipe dengan status Completed dan 26,488,218 record

Periksa apa yang termuat. Jalankan ini di SQL Console:

-- expect 26,488,218 ticks across 12 pairs
SELECT count() AS ticks, uniqExact(concat(base,'/',quote)) AS pairs FROM forex;

Yang seharusnya Anda lihat

ticks = 26,488,218 dan pairs = 12. Itu ~26.5 juta baris yang dimuat dari object storage dalam hitungan detik.

Metode 2 — one-liner s3(), tercepat saat demo

Sekarang muat data yang persis sama dengan satu pernyataan SQL, langsung dari file publik itu. Pertama kosongkan tabelnya supaya jumlah barisnya tidak berganda, lalu insert:

-- clear the rows ClickPipes just loaded so we don't double up
TRUNCATE TABLE forex;

-- load all ~26.5M ticks from the public S3 file in one line (server-side)
INSERT INTO forex
SELECT * FROM s3('https://partner-workshop.s3.ap-southeast-1.amazonaws.com/fx/ticks.parquet', NOSIGN, 'Parquet');

-- and check again (expect 26,488,218)
SELECT count() AS ticks, uniqExact(concat(base,'/',quote)) AS pairs FROM forex;

NOSIGN berarti "tanpa kredensial" — hanya itu yang dibutuhkan untuk membaca bucket publik. SELECT * langsung bekerja karena urutan kolom tabel sama dengan urutan di file.

ClickPipes vs fungsi s3() — kapan pakai yang mana

26,488,218 baris yang sama, dimuat dengan dua cara. Bedanya ada pada apa yang terjadi setelah pemuatan pertama — apakah Anda ingin pipeline terkelola yang berjalan terus atau sekadar pembacaan sekali jalan.

ClickPipesFungsi tabel s3()
Apa ituLayanan ingesti yang sepenuhnya terkelola dan Anda siapkan di consoleFungsi SQL yang Anda panggil langsung di dalam kueri
Paling cocok untukProduksi dan pemuatan berkelanjutan yang ingin Anda jalankan lalu lupakanPemuatan sekali jalan yang cepat, eksplorasi ad-hoc, script
Berkelanjutan / file baruBisa terus mengawasi bucket atau stream dan memuat data baru secara berkelanjutanSekali jalan — hanya membaca yang ada setiap kali Anda menjalankannya
PenyiapanUI berpemandu, tanpa perlu SQLSatu pernyataan INSERT … SELECT
Pemantauan dan retrySudah termasuk — status, penanganan error, dan retry di consoleTidak ada — Anda menjalankannya ulang sendiri kalau gagal
SumberBanyak: S3, GCS, Azure, Kafka dan stream lain, CDC Postgres/MySQL, dan lainnyaHanya object storage (kerabatnya: gcs(), azureBlobStorage(), url())

Aturan praktis: pilih ClickPipes kalau data terus mengalir masuk dan Anda ingin ia terkelola; pilih s3() kalau Anda hanya ingin menarik sebuah file sekarang. Hari ini Anda memakai one-liner supaya cepat mulai mengueri — sekarang mari kita kueri datanya.

Di halaman ini

Track your progress?

Optional. We email a link to confirm your address; progress records once you open it.

Please use your work email address, not a personal one.

Progress tracking also requires accepting the current Terms of Service in Privacy settings.

ID