Bagaimana Anda memeriksa file csv kosong atau tidak di php?

Sejujurnya, jika Anda tidak dapat mengulang melalui array, Anda mungkin belum boleh bermain-main dengan file - dan data CSV bisa menjadi jauh lebih rumit daripada sekadar "dipecah dengan koma". semua ini sah

"hello", "hello, world", "hello, ""world"""
Dan berisi tiga bidang.
hello 
hello, world
hello, "world"
Pemrosesan data CSV yang sederhana hanya dengan memisahkan koma akan kembali menggigit Anda nanti, dan sulit

Saya sarankan Anda mencoba menggunakan beberapa perangkat lunak pembacaan CSV yang ada, karena sudah mengetahui masalahnya. Saya menggunakan yang ini. Pembaca CSV Cepat[^]

Saat memuat data CSV dari Cloud Storage, Anda dapat memuat data ke tabel atau partisi baru, atau menambahkan atau menimpa tabel atau partisi yang ada. Saat data Anda dimuat ke BigQuery, data akan diubah menjadi format kolom untuk Kapasitor (format penyimpanan BigQuery)

Saat Anda memuat data dari Cloud Storage ke dalam tabel BigQuery, set data yang berisi tabel tersebut harus berada di lokasi regional atau multi-regional yang sama dengan bucket Cloud Storage

Untuk informasi tentang memuat data CSV dari file lokal, lihat

Cobalah sendiri

Jika Anda baru di Google Cloud, buat akun untuk mengevaluasi performa BigQuery dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan menerapkan beban kerja

Coba BigQuery gratis

Keterbatasan

Anda tunduk pada batasan berikut saat memuat data ke BigQuery dari bucket Cloud Storage

  • Jika lokasi set data Anda disetel ke nilai selain multi-region
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    2, maka bucket Cloud Storage harus berada di region yang sama atau berada di multi-region yang sama dengan set data
  • BigQuery tidak menjamin konsistensi data untuk sumber data eksternal. Perubahan pada data pokok saat kueri sedang berjalan dapat mengakibatkan perilaku yang tidak diharapkan
  • BigQuery tidak mendukung pembuatan versi objek Cloud Storage. Jika Anda menyertakan nomor pembuatan di URI Cloud Storage, tugas pemuatan akan gagal

Saat Anda memuat file CSV ke BigQuery, perhatikan hal berikut

  • File CSV tidak mendukung data bersarang atau berulang
  • Hapus karakter byte order mark (BOM). Mereka mungkin menyebabkan masalah yang tidak terduga
  • Jika Anda menggunakan kompresi gzip, BigQuery tidak dapat membaca data secara paralel. Memuat data CSV terkompresi ke BigQuery lebih lambat daripada memuat data yang tidak terkompresi. Melihat
  • Anda tidak dapat menyertakan file terkompresi dan tidak terkompresi dalam tugas pemuatan yang sama
  • Ukuran maksimum untuk file gzip adalah 4 GB
  • Saat Anda memuat data CSV atau JSON, nilai dalam kolom
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    3 harus menggunakan pemisah tanda hubung (
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    4) dan tanggal harus dalam format berikut.
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5 (tahun-bulan-hari)
  • Saat Anda memuat data JSON atau CSV, nilai dalam kolom
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    6 harus menggunakan pemisah tanda hubung (
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    4) untuk bagian tanggal dari stempel waktu, dan tanggal harus dalam format berikut.
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5 (tahun-bulan-hari). Bagian
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _9 (jam-menit-detik) dari stempel waktu harus menggunakan pemisah titik dua (
        bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    0)

Sebelum kamu memulai

Berikan peran Identity and Access Management (IAM) yang memberi pengguna izin yang diperlukan untuk melakukan setiap tugas dalam dokumen ini, dan membuat kumpulan data untuk menyimpan data Anda

Izin yang diperlukan

Untuk memuat data ke BigQuery, Anda memerlukan izin IAM untuk menjalankan tugas pemuatan dan memuat data ke dalam tabel dan partisi BigQuery. Jika memuat data dari Cloud Storage, Anda juga memerlukan izin IAM untuk mengakses bucket yang berisi data Anda

Izin untuk memuat data ke BigQuery

Untuk memuat data ke dalam tabel atau partisi BigQuery baru atau menambahkan atau menimpa tabel atau partisi yang ada, Anda memerlukan izin IAM berikut

  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _1
  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _2
  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _3
  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _4

Setiap peran IAM standar berikut mencakup izin yang Anda perlukan untuk memuat data ke dalam tabel atau partisi BigQuery

  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _5
  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _6
  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _7 (termasuk izin
        bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    4)
  •     bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _9 (termasuk izin
        bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    4)
  •     bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    1 (termasuk izin
        bq load \
        --source_format=CSV \
        --skip_leading_rows=2
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    4)

Selain itu, jika Anda memiliki izin

    bq load \
    --source_format=CSV \
    --time_partitioning_type=DAY \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
_3, Anda dapat membuat dan memperbarui tabel menggunakan tugas muat di kumpulan data yang Anda buat

Untuk informasi selengkapnya tentang peran dan izin IAM di BigQuery, lihat Peran dan izin yang telah ditentukan sebelumnya

Izin untuk memuat data dari Cloud Storage

Untuk memuat data dari bucket Cloud Storage, Anda memerlukan izin IAM berikut

  •     bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    4
  •     bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5
  •     bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    6 (diperlukan jika Anda menggunakan URI )

Buat kumpulan data

Buat set data BigQuery untuk menyimpan data Anda

Memuat data CSV ke dalam tabel

Untuk memuat data CSV dari Cloud Storage ke tabel BigQuery baru, pilih salah satu opsi berikut

Menghibur


Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Editor Cloud Shell, klik Pandu saya

Bimbing saya


  1. Di Google Cloud Console, buka halaman BigQuery

    Buka BigQuery

  2. Di panel Penjelajah, perluas proyek Anda, lalu pilih kumpulan data
  3. Di bagian Dataset info, klik add_box Create table.
  4. Di panel Buat tabel, tentukan detail berikut
    1. Di bagian Sumber, pilih Google Cloud Storage di daftar Buat tabel dari. Kemudian, lakukan hal berikut
      1. Pilih file dari bucket Cloud Storage, atau masukkan. Anda tidak dapat menyertakan beberapa URI di Google Cloud Console, tetapi didukung. Bucket Cloud Storage harus berada di lokasi yang sama dengan set data yang berisi tabel yang ingin Anda buat, tambahkan, atau timpa.
        Bagaimana Anda memeriksa file csv kosong atau tidak di php?
      2. Untuk format File, pilih CSV
    2. Di bagian Tujuan, tentukan detail berikut
      1. Untuk Kumpulan Data, pilih kumpulan data tempat Anda ingin membuat tabel
      2. Di kolom Tabel, masukkan nama tabel yang ingin Anda buat
      3. Verifikasi bahwa bidang Jenis tabel diatur ke Tabel asli
    3. Di bagian Skema, masukkan definisi skema. Untuk mengaktifkan deteksi otomatis skema, pilih Deteksi otomatis. Anda dapat memasukkan informasi skema secara manual menggunakan salah satu metode berikut
      • Pilihan 1. Klik Edit sebagai teks dan rekatkan skema dalam bentuk larik JSON. Saat Anda menggunakan larik JSON, Anda membuat skema menggunakan proses yang sama seperti. Anda dapat melihat skema tabel yang ada dalam format JSON dengan memasukkan perintah berikut.
            bq show --format=prettyjson dataset.table
            
      • Opsi 2. Klik add_box Tambahkan bidang dan masukkan skema tabel. Tentukan Nama setiap bidang, , dan.
    4. Opsional. Tentukan pengaturan Partisi dan cluster. Untuk informasi selengkapnya, lihat Membuat tabel berpartisi dan Membuat dan menggunakan tabel berkerumun
    5. Klik Opsi lanjutan dan lakukan hal berikut
      • Untuk preferensi Tulis, tinggalkan Tulis jika dipilih kosong. Opsi ini membuat tabel baru dan memuat data Anda ke dalamnya
      • Untuk Jumlah kesalahan yang diizinkan, terima nilai default
            bq load \
            --source_format=CSV \
            --time_partitioning_type=DAY \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        7 atau masukkan jumlah maksimum baris berisi kesalahan yang dapat diabaikan. Jika jumlah baris dengan kesalahan melebihi nilai ini, pekerjaan akan menghasilkan pesan
            bq load \
            --source_format=CSV \
            --time_partitioning_type=DAY \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        8 dan gagal. Opsi ini hanya berlaku untuk file CSV dan JSON
      • Jika Anda ingin mengabaikan nilai dalam baris yang tidak ada dalam skema tabel, pilih Nilai tidak diketahui
      • Untuk pembatas Bidang, pilih karakter yang memisahkan sel di file CSV Anda. Koma, Tab, Pipa, atau Khusus. Jika Anda memilih Khusus, masukkan pembatas di kotak Pembatas bidang khusus. Nilai defaultnya adalah Koma
      • Untuk melewati baris Header, masukkan jumlah baris header yang akan dilewati di bagian atas file CSV. Nilai defaultnya adalah
            bq load \
            --source_format=CSV \
            --time_partitioning_type=DAY \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        _7
      • Untuk baris baru yang dikutip, centang Izinkan baris baru yang dikutip untuk mengizinkan bagian data yang dikutip yang berisi karakter baris baru dalam file CSV. Nilai defaultnya adalah
            bq load \
            --source_format=CSV \
            --time_partitioning_field mytimestamp \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        0
      • Untuk baris bergerigi, centang Izinkan baris bergerigi untuk menerima baris dalam file CSV yang tidak ada di belakang kolom opsional. Nilai yang hilang diperlakukan sebagai nol. Jika tidak dicentang, catatan dengan kolom akhir yang hilang dianggap sebagai catatan buruk, dan jika ada terlalu banyak catatan buruk, kesalahan yang tidak valid dikembalikan dalam hasil pekerjaan. Nilai defaultnya adalah
            bq load \
            --source_format=CSV \
            --time_partitioning_field mytimestamp \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        0
      • Untuk Enkripsi, klik Kunci yang dikelola pelanggan untuk menggunakan kunci Layanan Manajemen Kunci Cloud. Jika Anda meninggalkan setelan kunci yang dikelola Google, BigQuery akan mengenkripsi data nonaktif
    6. Klik Buat tabel
Catatan. Saat Anda memuat data ke tabel kosong menggunakan Google Cloud Console, Anda tidak dapat menambahkan label, deskripsi, masa berlaku tabel, atau masa berlaku partisi.

Setelah tabel dibuat, Anda dapat memperbarui masa berlaku, deskripsi, dan label tabel, tetapi Anda tidak dapat menambahkan masa berlaku partisi setelah tabel dibuat menggunakan Google Cloud Console. Untuk informasi selengkapnya, lihat Mengelola tabel

SQL

Menggunakan. Contoh berikut memuat file CSV ke tabel baru

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3

  1. Di Google Cloud Console, buka halaman BigQuery

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
  3. Klik play_circle Lari.

Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat

bq

Gunakan perintah

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
4, tentukan
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
5 menggunakan bendera
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
6, dan sertakan. Anda dapat menyertakan satu URI, daftar URI yang dipisahkan koma, atau URI yang berisi a. Sediakan inline skema, dalam file definisi skema, atau gunakan deteksi otomatis skema. Jika Anda tidak menentukan skema, dan
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
7 adalah
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
0, dan tabel tujuan ada, maka skema tabel tujuan akan digunakan

(Opsional) Berikan bendera

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
_9 dan tetapkan nilainya ke lokasi Anda

Bendera opsional lainnya termasuk

  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _0. Jika ditentukan, terima baris dalam file CSV yang tidak ada di kolom opsional. Nilai yang hilang diperlakukan sebagai nol. Jika tidak dicentang, catatan dengan kolom akhir yang hilang dianggap sebagai catatan buruk, dan jika ada terlalu banyak catatan buruk, kesalahan yang tidak valid dikembalikan dalam hasil pekerjaan. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    0
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _2. Jika ditentukan, izinkan bagian data yang dikutip yang berisi karakter baris baru dalam file CSV. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    0
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _4. Karakter yang menunjukkan batas antar kolom dalam data. Baik
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    5 dan
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    6 diizinkan untuk pembatas tab. Nilai defaultnya adalah
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _7
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _8. String khusus opsional yang mewakili nilai NULL dalam data CSV
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _9. Menentukan jumlah baris header yang akan dilewati di bagian atas file CSV. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _7
  •     bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _1. Karakter kutipan yang akan digunakan untuk mengapit rekaman. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    2. Untuk menunjukkan tidak ada karakter kutipan, gunakan string kosong
  •     bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _3. Bilangan bulat yang menentukan jumlah maksimum catatan buruk yang diizinkan sebelum seluruh pekerjaan gagal. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _7. Paling banyak, lima kesalahan jenis apa pun dikembalikan terlepas dari nilai
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    3
  •     bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _6. Jika ditentukan, izinkan dan abaikan nilai tambahan yang tidak dikenal dalam data CSV atau JSON
  •     bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    7. Jika ditentukan, aktifkan deteksi otomatis skema untuk data CSV dan JSON
  •     bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _8. Mengaktifkan partisi berbasis waktu di atas meja dan menyetel jenis partisi. Nilai yang mungkin adalah
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _9,
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata*.csv
    
    0,
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata*.csv
    
    1, dan
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata*.csv
    
    2. Bendera ini opsional saat Anda membuat tabel yang dipartisi pada kolom
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    3,
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata*.csv
    
    4, atau
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    6. Tipe partisi default untuk partisi berbasis waktu adalah
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata*.csv
    
    0. Anda tidak dapat mengubah spesifikasi partisi pada tabel yang sudah ada
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata*.csv
    
    _7. Bilangan bulat yang menentukan (dalam detik) kapan partisi berbasis waktu harus dihapus. Waktu kedaluwarsa mengevaluasi tanggal UTC partisi ditambah nilai bilangan bulat
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata*.csv
    
    _8. Kolom
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _3 atau
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    6 digunakan untuk membuat tabel terpartisi. Jika partisi berbasis waktu diaktifkan tanpa nilai ini, tabel partisi waktu penyerapan akan dibuat
  • LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _01. Jika diaktifkan, opsi ini mengharuskan pengguna untuk menyertakan klausa
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    02 yang menentukan partisi untuk kueri. Membutuhkan filter partisi dapat mengurangi biaya dan meningkatkan kinerja. Untuk informasi lebih lanjut, lihat
  • LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _03. Daftar yang dipisahkan koma hingga empat nama kolom yang digunakan untuk membuat tabel berkerumun
  • LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _04. Kunci Cloud KMS untuk enkripsi data tabel

    Untuk informasi lebih lanjut tentang perintah

        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _4, lihat

    Untuk informasi lebih lanjut tentang tabel yang dipartisi, lihat

    • Membuat tabel yang dipartisi

    Untuk informasi lebih lanjut tentang tabel berkerumun, lihat

    • Membuat dan menggunakan tabel berkerumun

    Untuk informasi selengkapnya tentang enkripsi tabel, lihat

    • Melindungi data dengan kunci Cloud KMS

Untuk memuat data CSV ke BigQuery, masukkan perintah berikut

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema

Di mana

  • lokasi adalah lokasi Anda. Bendera
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _9 adalah opsional. Misalnya, jika Anda menggunakan BigQuery di wilayah Tokyo, Anda dapat menyetel nilai tanda ke
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    07. Anda dapat menetapkan nilai default untuk lokasi menggunakan
  • formatnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5
  • dataset adalah dataset yang sudah ada
  • table adalah nama tabel tempat Anda memuat data
  • path_to_source adalah daftar URI yang sepenuhnya memenuhi syarat atau dipisahkan koma. juga didukung
  • skema adalah skema yang valid. Skema dapat berupa file JSON lokal, atau dapat diketik sebaris sebagai bagian dari perintah. Anda juga dapat menggunakan flag
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    7 alih-alih menyediakan definisi skema

Contoh

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 ke dalam tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Skema didefinisikan dalam file skema lokal bernama
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
13

    bq load \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 ke dalam tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Skema didefinisikan dalam file skema lokal bernama
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
13. File CSV menyertakan dua baris header. Jika
    bq load \
    --autodetect \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv
_9 tidak ditentukan, perilaku default adalah menganggap file tidak berisi header

    bq load \
    --source_format=CSV \
    --skip_leading_rows=2
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 ke tabel terpartisi waktu konsumsi bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Skema didefinisikan dalam file skema lokal bernama
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
13

    bq load \
    --source_format=CSV \
    --time_partitioning_type=DAY \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 ke dalam tabel terpartisi baru bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Tabel dipartisi pada kolom
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_26. Skema didefinisikan dalam file skema lokal bernama
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
13

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 ke dalam tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Skema terdeteksi secara otomatis

    bq load \
    --autodetect \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 ke dalam tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Skema didefinisikan sebaris dalam format ________34______34

    bq load \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    qtr:STRING,sales:FLOAT,year:STRING
Catatan. Saat Anda menentukan skema menggunakan alat baris perintah ________34______35, Anda tidak dapat menyertakan jenis
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
36 (), Anda tidak dapat menyertakan deskripsi bidang, dan Anda tidak dapat menentukan mode bidang. Semua mode bidang default ke
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_38. Untuk menyertakan deskripsi bidang, mode, dan jenis ________34______36, berikan sebagai gantinya.

Perintah berikut memuat data dari banyak file di

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
40 ke dalam tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. URI Cloud Storage menggunakan karakter pengganti. Skema terdeteksi secara otomatis

    bq load \
    --autodetect \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata*.csv

Perintah berikut memuat data dari banyak file di

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
40 ke dalam tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Perintah tersebut menyertakan daftar URI Cloud Storage yang dipisahkan koma dengan karakter pengganti. Skema didefinisikan dalam file skema lokal bernama
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
13

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
0

API

  1. Buat tugas

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _47 yang mengarah ke sumber data di Cloud Storage

  2. (Opsional) Tentukan lokasi Anda di properti

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    48 di bagian
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    49 sumber daya pekerjaan

  3. Properti

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _50 harus sepenuhnya memenuhi syarat, dalam format
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    51. Setiap URI dapat berisi satu '*'

  4. Tentukan format data CSV dengan menyetel properti

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    52 ke
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5

  5. Untuk memeriksa status pekerjaan, hubungi

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _54, di mana job_id adalah ID pekerjaan yang dikembalikan oleh permintaan awal

    • Jika
      LOAD DATA OVERWRITE mydataset.mytable
      FROM FILES (
        format = 'CSV',
        uris = ['gs://bucket/path/file.csv']);
      
      _55, pekerjaan berhasil diselesaikan
    • Jika properti
      LOAD DATA OVERWRITE mydataset.mytable
      FROM FILES (
        format = 'CSV',
        uris = ['gs://bucket/path/file.csv']);
      
      _56 ada, permintaan gagal, dan objek tersebut akan menyertakan informasi yang menjelaskan apa yang salah. Saat permintaan gagal, tidak ada tabel yang dibuat dan tidak ada data yang dimuat
    • Jika
      LOAD DATA OVERWRITE mydataset.mytable
      FROM FILES (
        format = 'CSV',
        uris = ['gs://bucket/path/file.csv']);
      
      _56 tidak ada, pekerjaan selesai dengan sukses, meskipun mungkin ada beberapa kesalahan non-fatal, seperti masalah mengimpor beberapa baris. Kesalahan non-fatal tercantum dalam properti
      LOAD DATA OVERWRITE mydataset.mytable
      FROM FILES (
        format = 'CSV',
        uris = ['gs://bucket/path/file.csv']);
      
      58 objek pekerjaan yang dikembalikan

Catatan API

  • Pekerjaan beban bersifat atomik dan konsisten;

  • Sebagai praktik terbaik, buat ID unik dan berikan sebagai

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    59 saat menelepon
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    60 untuk membuat tugas pemuatan. Pendekatan ini lebih kuat untuk kegagalan jaringan karena klien dapat memilih atau mencoba kembali ID pekerjaan yang diketahui

  • Memanggil

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _60 pada ID pekerjaan tertentu bersifat idempoten. Anda dapat mencoba lagi sebanyak yang Anda suka pada ID pekerjaan yang sama, dan paling banyak salah satu dari operasi tersebut akan berhasil

C#

Sebelum mencoba sampel ini, ikuti petunjuk penyiapan C# di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi BigQuery C# API.

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
1

Pergi

Sebelum mencoba sampel ini, ikuti petunjuk penyiapan Go di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API BigQuery Go .

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
2

Jawa

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi lebih lanjut, lihat dokumentasi referensi BigQuery Java API.

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
3

Node. js

Sebelum mencoba contoh ini, ikuti Node. js petunjuk penyiapan di quickstart BigQuery menggunakan library klien. Untuk informasi selengkapnya, lihat BigQuery Node. js dokumentasi referensi API.

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
4

PHP

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API BigQuery PHP .

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
5

Piton

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python BigQuery.

Gunakan metode untuk memuat data dari file CSV di Cloud Storage. Berikan definisi skema eksplisit dengan menyetel properti ke daftar objek

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
6

Rubi

Sebelum mencoba sampel ini, ikuti petunjuk penyiapan Ruby di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Ruby BigQuery.

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
7

Memuat data CSV ke dalam tabel yang menggunakan partisi waktu berbasis kolom

Untuk memuat data CSV dari Cloud Storage ke dalam tabel BigQuery yang menggunakan partisi waktu berbasis kolom

Pergi

Sebelum mencoba sampel ini, ikuti petunjuk penyiapan Go di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API BigQuery Go .

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
8

Jawa

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi lebih lanjut, lihat dokumentasi referensi BigQuery Java API.

Lihat di GitHub

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_9

Node. js

Sebelum mencoba contoh ini, ikuti Node. js petunjuk penyiapan di quickstart BigQuery menggunakan library klien. Untuk informasi selengkapnya, lihat BigQuery Node. js dokumentasi referensi API.

Lihat di GitHub

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_0

Piton

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python BigQuery.

Lihat di GitHub

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_1

Menambahkan atau menimpa tabel dengan data CSV

Anda dapat memuat data tambahan ke dalam tabel baik dari file sumber atau dengan menambahkan hasil kueri

Di konsol Google Cloud, gunakan opsi Preferensi tulis untuk menentukan tindakan yang harus diambil saat Anda memuat data dari file sumber atau dari hasil kueri

Anda memiliki opsi berikut saat memuat data tambahan ke dalam tabel

Opsi konsol
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
35 flag alatProperti BigQuery APIDeskripsiTulis jika kosongTidak didukung
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
63Menulis data hanya jika tabel kosong. Tambahkan ke tabel
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_64 atau
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
65; . Timpa tabel
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
68 atau
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
69
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
70Menghapus semua data yang ada di tabel sebelum menulis data baru. Tindakan ini juga akan menghapus skema tabel dan menghapus kunci Cloud KMS apa pun

Jika Anda memuat data ke tabel yang sudah ada, pekerjaan pemuatan dapat menambahkan data atau menimpa tabel

Catatan. Halaman ini tidak mencakup menambahkan atau menimpa tabel yang dipartisi. Untuk informasi tentang menambahkan dan menimpa tabel berpartisi, lihat.

Menghibur

  1. Di Google Cloud Console, buka halaman BigQuery

    Buka BigQuery

  2. Di panel Penjelajah, perluas proyek Anda, lalu pilih kumpulan data
  3. Di bagian Dataset info, klik add_box Create table.
  4. Di panel Buat tabel, tentukan detail berikut
    1. Di bagian Sumber, pilih Google Cloud Storage di daftar Buat tabel dari. Kemudian, lakukan hal berikut
      1. Pilih file dari bucket Cloud Storage, atau masukkan. Anda tidak dapat menyertakan beberapa URI di Google Cloud Console, tetapi didukung. Bucket Cloud Storage harus berada di lokasi yang sama dengan set data yang berisi tabel yang ingin Anda buat, tambahkan, atau timpa.
        Bagaimana Anda memeriksa file csv kosong atau tidak di php?
      2. Untuk format File, pilih CSV
    2. Catatan. Dimungkinkan untuk memodifikasi skema tabel saat Anda menambahkan atau menimpanya. Untuk informasi selengkapnya tentang perubahan skema yang didukung selama operasi pemuatan, lihat Memodifikasi skema tabel
    3. Di bagian Tujuan, tentukan detail berikut
      1. Untuk Kumpulan Data, pilih kumpulan data tempat Anda ingin membuat tabel
      2. Di kolom Tabel, masukkan nama tabel yang ingin Anda buat
      3. Verifikasi bahwa bidang Jenis tabel diatur ke Tabel asli
    4. Di bagian Skema, masukkan definisi skema. Untuk mengaktifkan deteksi otomatis skema, pilih Deteksi otomatis. Anda dapat memasukkan informasi skema secara manual menggunakan salah satu metode berikut
      • Pilihan 1. Klik Edit sebagai teks dan rekatkan skema dalam bentuk larik JSON. Saat Anda menggunakan larik JSON, Anda membuat skema menggunakan proses yang sama seperti. Anda dapat melihat skema tabel yang ada dalam format JSON dengan memasukkan perintah berikut.
            bq show --format=prettyjson dataset.table
            
      • Opsi 2. Klik add_box Tambahkan bidang dan masukkan skema tabel. Tentukan Nama setiap bidang, , dan.
      • Catatan. Dimungkinkan untuk memodifikasi skema tabel saat Anda menambahkan atau menimpanya. Untuk informasi selengkapnya tentang perubahan skema yang didukung selama operasi pemuatan, lihat Memodifikasi skema tabel
    5. Opsional. Tentukan pengaturan Partisi dan cluster. Untuk informasi selengkapnya, lihat Membuat tabel berpartisi dan Membuat dan menggunakan tabel berkerumun. Anda tidak dapat mengonversi tabel menjadi tabel terpartisi atau tergugus dengan menambahkan atau menimpanya. Konsol Google Cloud tidak mendukung penambahan atau penimpaan tabel yang dipartisi atau dikelompokkan dalam tugas pemuatan
    6. Klik Opsi lanjutan dan lakukan hal berikut
      • Untuk preferensi Tulis, pilih Tambahkan ke tabel atau Timpa tabel
      • Untuk Jumlah kesalahan yang diizinkan, terima nilai default
            bq load \
            --source_format=CSV \
            --time_partitioning_type=DAY \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        7 atau masukkan jumlah maksimum baris berisi kesalahan yang dapat diabaikan. Jika jumlah baris dengan kesalahan melebihi nilai ini, pekerjaan akan menghasilkan pesan
            bq load \
            --source_format=CSV \
            --time_partitioning_type=DAY \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        8 dan gagal. Opsi ini hanya berlaku untuk file CSV dan JSON
      • Jika Anda ingin mengabaikan nilai dalam baris yang tidak ada dalam skema tabel, pilih Nilai tidak diketahui
      • Untuk pembatas Bidang, pilih karakter yang memisahkan sel di file CSV Anda. Koma, Tab, Pipa, atau Khusus. Jika Anda memilih Khusus, masukkan pembatas di kotak Pembatas bidang khusus. Nilai defaultnya adalah Koma
      • Untuk melewati baris Header, masukkan jumlah baris header yang akan dilewati di bagian atas file CSV. Nilai defaultnya adalah
            bq load \
            --source_format=CSV \
            --time_partitioning_type=DAY \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        _7
      • Untuk baris baru yang dikutip, centang Izinkan baris baru yang dikutip untuk mengizinkan bagian data yang dikutip yang berisi karakter baris baru dalam file CSV. Nilai defaultnya adalah
            bq load \
            --source_format=CSV \
            --time_partitioning_field mytimestamp \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        0
      • Untuk baris bergerigi, centang Izinkan baris bergerigi untuk menerima baris dalam file CSV yang tidak ada di belakang kolom opsional. Nilai yang hilang diperlakukan sebagai nol. Jika tidak dicentang, catatan dengan kolom akhir yang hilang dianggap sebagai catatan buruk, dan jika ada terlalu banyak catatan buruk, kesalahan yang tidak valid dikembalikan dalam hasil pekerjaan. Nilai defaultnya adalah
            bq load \
            --source_format=CSV \
            --time_partitioning_field mytimestamp \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        0
      • Untuk Enkripsi, klik Kunci yang dikelola pelanggan untuk menggunakan kunci Layanan Manajemen Kunci Cloud. Jika Anda meninggalkan setelan kunci yang dikelola Google, BigQuery akan mengenkripsi data nonaktif
    7. Klik Buat tabel

SQL

Menggunakan. Contoh berikut menambahkan file CSV ke tabel

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3

  1. Di Google Cloud Console, buka halaman BigQuery

    Buka BigQuery

  2. Di editor kueri, masukkan pernyataan berikut

    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    _3
  3. Klik play_circle Lari.

Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat

bq

Gunakan perintah

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
4, tentukan
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
5 menggunakan bendera
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
6, dan sertakan. Anda dapat menyertakan satu URI, daftar URI yang dipisahkan koma, atau URI yang berisi a

Sediakan inline skema, dalam file definisi skema, atau gunakan deteksi otomatis skema. Jika Anda tidak menentukan skema, dan

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
7 adalah
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
0, dan tabel tujuan ada, maka skema tabel tujuan akan digunakan

Tentukan bendera

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_68 untuk menimpa tabel. Gunakan bendera
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_64 untuk menambahkan data ke tabel. Jika tidak ada flag yang ditentukan, defaultnya adalah menambahkan data

Dimungkinkan untuk memodifikasi skema tabel saat Anda menambahkan atau menimpanya. Untuk informasi selengkapnya tentang perubahan skema yang didukung selama operasi pemuatan, lihat Memodifikasi skema tabel

(Opsional) Berikan bendera

    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
_9 dan tetapkan nilainya ke lokasi Anda

Bendera opsional lainnya termasuk

  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _0. Jika ditentukan, terima baris dalam file CSV yang tidak ada di kolom opsional. Nilai yang hilang diperlakukan sebagai nol. Jika tidak dicentang, catatan dengan kolom akhir yang hilang dianggap sebagai catatan buruk, dan jika ada terlalu banyak catatan buruk, kesalahan yang tidak valid dikembalikan dalam hasil pekerjaan. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    0
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _2. Jika ditentukan, izinkan bagian data yang dikutip yang berisi karakter baris baru dalam file CSV. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    0
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _4. Karakter yang menunjukkan batas antar kolom dalam data. Baik
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    5 dan
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    6 diizinkan untuk pembatas tab. Nilai defaultnya adalah
        bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _7
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _8. String khusus opsional yang mewakili nilai NULL dalam data CSV
  •     bq load \
        --autodetect \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv
    
    _9. Menentukan jumlah baris header yang akan dilewati di bagian atas file CSV. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _7
  •     bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _1. Karakter kutipan yang akan digunakan untuk mengapit rekaman. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    2. Untuk menunjukkan tidak ada karakter kutipan, gunakan string kosong
  •     bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _3. Bilangan bulat yang menentukan jumlah maksimum catatan buruk yang diizinkan sebelum seluruh pekerjaan gagal. Nilai defaultnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_type=DAY \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _7. Paling banyak, lima kesalahan jenis apa pun dikembalikan terlepas dari nilai
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    3
  •     bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        qtr:STRING,sales:FLOAT,year:STRING
    
    _6. Jika ditentukan, izinkan dan abaikan nilai tambahan yang tidak dikenal dalam data CSV atau JSON
  •     bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    7. Jika ditentukan, aktifkan deteksi otomatis skema untuk data CSV dan JSON
  • LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _04. Kunci Cloud KMS untuk enkripsi data tabel
bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_4

Di mana

  • lokasi adalah lokasi Anda. Bendera
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _9 adalah opsional. Anda dapat menetapkan nilai default untuk lokasi menggunakan
  • formatnya adalah
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5
  • dataset adalah dataset yang sudah ada
  • table adalah nama tabel tempat Anda memuat data
  • path_to_source adalah daftar URI yang sepenuhnya memenuhi syarat atau dipisahkan koma. juga didukung
  • skema adalah skema yang valid. Skema dapat berupa file JSON lokal, atau dapat diketik sebaris sebagai bagian dari perintah. Anda juga dapat menggunakan flag
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    7 alih-alih menyediakan definisi skema

Contoh

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 dan menimpa tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Skema didefinisikan menggunakan deteksi otomatis skema

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_5

Perintah berikut memuat data dari

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
_10 dan menambahkan data ke tabel bernama
    bq load \
    --source_format=CSV \
    --time_partitioning_field mytimestamp \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
3 di
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
12. Skema didefinisikan menggunakan file skema JSON —
LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
13

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_6

API

  1. Buat tugas

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _47 yang mengarah ke sumber data di Cloud Storage

  2. (Opsional) Tentukan lokasi Anda di properti

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    48 di bagian
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    49 sumber daya pekerjaan

  3. Properti

    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    _50 harus sepenuhnya memenuhi syarat, dalam format
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    51. Anda dapat menyertakan beberapa URI sebagai daftar yang dipisahkan koma. Catatan yang juga didukung

  4. Tentukan format data dengan menyetel properti

    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    20 ke
        bq load \
        --source_format=CSV \
        --time_partitioning_field mytimestamp \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5

  5. Tentukan preferensi tulis dengan menyetel properti

    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    22 ke
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    70 atau
    LOAD DATA OVERWRITE mydataset.mytable
    FROM FILES (
      format = 'CSV',
      uris = ['gs://bucket/path/file.csv']);
    
    67

Pergi

Sebelum mencoba sampel ini, ikuti petunjuk penyiapan Go di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API BigQuery Go .

Lihat di GitHub

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_7

Jawa

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi lebih lanjut, lihat dokumentasi referensi BigQuery Java API.

Lihat di GitHub

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_8

Node. js

Sebelum mencoba contoh ini, ikuti Node. js petunjuk penyiapan di quickstart BigQuery menggunakan library klien. Untuk informasi selengkapnya, lihat BigQuery Node. js dokumentasi referensi API.

Untuk mengganti baris dalam tabel yang ada, atur nilai

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
25 dalam parameter
bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
26 ke
bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
27

Lihat di GitHub

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
_9

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API BigQuery PHP .

Lihat di GitHub

    bq load \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
0

Piton

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai BigQuery menggunakan pustaka klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python BigQuery.

Untuk mengganti baris dalam tabel yang sudah ada, setel properti ke konstanta SourceFormat

LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
  format = 'CSV',
  uris = ['gs://bucket/path/file.csv']);
70

Lihat di GitHub

    bq load \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
1

Memuat data CSV yang dipartisi hive

BigQuery mendukung pemuatan data CSV yang dipartisi hive yang disimpan di Cloud Storage dan akan mengisi kolom partisi hive sebagai kolom di tabel tujuan yang dikelola BigQuery. Untuk informasi selengkapnya, lihat Memuat Data yang Dipartisi Secara Eksternal dari Cloud Storage

Detail pemuatan data CSV

Bagian ini menjelaskan cara BigQuery menangani berbagai opsi pemformatan CSV

Pengkodean

BigQuery mengharapkan data CSV berenkode UTF-8. Jika Anda memiliki file CSV dengan data yang dienkode dalam format ISO-8859-1 (juga dikenal sebagai Latin-1), Anda harus menentukan enkode secara eksplisit sehingga BigQuery dapat mengonversi data menjadi UTF-8 dengan benar

Jika Anda tidak menentukan enkode, atau jika Anda menentukan enkode UTF-8 saat file CSV tidak berenkode UTF-8, BigQuery akan mencoba mengonversi data menjadi UTF-8. Secara umum, data Anda akan berhasil dimuat, tetapi mungkin tidak sesuai dengan byte demi byte yang Anda harapkan. Untuk menghindari hal ini, tentukan penyandian yang benar dengan menggunakan

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
29

Catatan. Secara default, jika file CSV berisi karakter ASCII
    bq load \
    --source_format=CSV \
    --time_partitioning_type=DAY \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
7 (NULL), Anda tidak dapat memuat data ke BigQuery. Jika Anda ingin mengizinkan ASCII
    bq load \
    --source_format=CSV \
    --time_partitioning_type=DAY \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
_7 dan karakter kontrol ASCII lainnya, setel
bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
32 ke pekerjaan pemuatan Anda

Jika BigQuery tidak dapat mengonversi karakter selain karakter ASCII

    bq load \
    --source_format=CSV \
    --time_partitioning_type=DAY \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
7, BigQuery mengonversi karakter tersebut menjadi karakter pengganti Unicode standar. �

Pembatas bidang

Pembatas dalam file CSV dapat berupa karakter single-byte apa pun. Jika file sumber menggunakan pengkodean ISO-8859-1, karakter apa pun dapat menjadi pembatas. Jika file sumber menggunakan pengkodean UTF-8, karakter apa pun dalam rentang desimal 1-127 (U+0001-U+007F) dapat digunakan tanpa modifikasi. Anda dapat menyisipkan karakter ISO-8859-1 di luar rentang ini sebagai pembatas, dan BigQuery akan menafsirkannya dengan benar. Namun, jika Anda menggunakan karakter multibita sebagai pembatas, beberapa byte akan diinterpretasikan secara tidak benar sebagai bagian dari nilai bidang

Umumnya, praktik terbaik adalah menggunakan pembatas standar, seperti tab, pipa, atau koma. Standarnya adalah koma

Tipe data

Boolean. BigQuery dapat mengurai salah satu pasangan berikut untuk data Boolean. 1 atau 0, benar atau salah, t atau f, ya atau tidak, atau y atau n (semua tidak peka huruf besar/kecil). Deteksi otomatis skema secara otomatis mendeteksi semua ini kecuali 0 dan 1

Byte. Kolom dengan tipe BYTES harus dikodekan sebagai Base64

Tanggal. Kolom dengan tipe DATE harus dalam format

    bq load \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv \
    ./myschema.json
5

Tanggal Waktu. Kolom dengan tipe DATETIME harus dalam format

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
35

Geografi. Kolom dengan tipe GEOGRAPHY harus berisi string dalam salah satu format berikut

  • Teks terkenal (WKT)
  • Biner terkenal (WKB)
  • GeoJSON

Jika Anda menggunakan WKB, nilainya harus disandikan hex

Daftar berikut menunjukkan contoh data yang valid

  • WKT.
    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    _36
  • GeoJSON.
    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    _37
  • WKB yang disandikan hex.
    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    _38

Sebelum memuat data GEOGRAFI, baca juga

Selang. Kolom dengan jenis

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
39 harus dalam format
bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
40, di mana

  • Y = Tahun. Kisaran yang didukung adalah 0-10.000
  • M = Bulan. Kisaran yang didukung adalah 1-12
  • D = Hari. Kisaran yang didukung adalah 1- [hari terakhir dari bulan yang ditunjukkan]
  • H = Jam
  • M = Menit
  • S = Kedua
  • [. F] = Pecahan detik hingga enam digit, dengan presisi mikrodetik

Anda dapat menunjukkan nilai negatif dengan menambahkan tanda hubung (-)

Daftar berikut menunjukkan contoh data yang valid

  • bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    _41
  • bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    _42
  • bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    _43

Untuk memuat data INTERVAL, Anda harus menggunakan perintah dan menggunakan flag

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
45 untuk menentukan skema. Anda tidak dapat mengunggah data INTERVAL dengan menggunakan konsol

JSON. Kutipan diloloskan dengan menggunakan urutan dua karakter

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
46. Untuk informasi lebih lanjut, lihat contoh dari

Waktu. Kolom dengan tipe TIME harus dalam format

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
47

Stempel waktu. BigQuery menerima berbagai format stempel waktu. Stempel waktu harus menyertakan bagian tanggal dan bagian waktu

  • Bagian tanggal dapat diformat sebagai

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    _5 atau
    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    49

  • Bagian stempel waktu harus diformat sebagai

    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    50 (detik dan pecahan detik adalah opsional)

  • Tanggal dan waktu harus dipisahkan dengan spasi atau 'T'

  • Opsional, tanggal dan waktu dapat diikuti dengan offset UTC atau penanda zona UTC (

    bq --location=location load \
    --source_format=format \
    dataset.table \
    path_to_source \
    schema
    
    51). Untuk informasi lebih lanjut, lihat

Misalnya, salah satu dari berikut ini adalah nilai stempel waktu yang valid

  • 19-08-2018 12. 11
  • 19-08-2018 12. 11. 35
  • 19-08-2018 12. 11. 35. 22
  • 19/08/2018 12. 11
  • 05-07-2018 12. 54. 00 UTC
  • 19-08-2018 07. 11. 35. 220 -05. 00
  • 2018-08-19T12. 11. 35. 220Z

Jika Anda memberikan skema, BigQuery juga menerima waktu epoch Unix untuk nilai stempel waktu. Namun, deteksi otomatis skema tidak mendeteksi kasus ini, dan memperlakukan nilai sebagai tipe numerik atau string

Contoh nilai cap waktu zaman Unix

  • 1534680695
  • 1. 534680695e11

Deteksi otomatis skema

Bagian ini menjelaskan perilaku deteksi otomatis skema saat memuat file CSV

pembatas CSV

BigQuery mendeteksi pembatas berikut

  • koma ( , )
  • pipa (. )
  • tab ( \t )

Tajuk CSV

BigQuery menyimpulkan header dengan membandingkan baris pertama file dengan baris lain dalam file. Jika baris pertama hanya berisi string, dan baris lainnya berisi jenis data lain, BigQuery menganggap baris pertama adalah baris header. Dalam hal ini, BigQuery menetapkan nama kolom berdasarkan nama kolom di baris header. Nama mungkin dimodifikasi untuk memenuhi kolom for di BigQuery. Misalnya, spasi akan diganti dengan garis bawah

Jika tidak, BigQuery menganggap baris pertama adalah baris data, dan menetapkan nama kolom umum seperti

bq --location=location load \
--source_format=format \
dataset.table \
path_to_source \
schema
52. Perhatikan bahwa setelah tabel dibuat, nama kolom tidak dapat diperbarui dalam skema, meskipun Anda dapat memperbaruinya setelah tabel dibuat. Pilihan lainnya adalah menyediakan skema eksplisit alih-alih menggunakan deteksi otomatis

Anda mungkin memiliki file CSV dengan baris header, yang semua bidang datanya berupa string. Dalam hal ini, BigQuery tidak akan otomatis mendeteksi bahwa baris pertama adalah header. Gunakan opsi

    bq load \
    --autodetect \
    --source_format=CSV \
    mydataset.mytable \
    gs://mybucket/mydata.csv
_9 untuk melewati baris tajuk. Jika tidak, tajuk akan diimpor sebagai data. Pertimbangkan juga untuk menyediakan skema eksplisit dalam kasus ini, sehingga Anda dapat menetapkan nama kolom

CSV mengutip baris baru

BigQuery mendeteksi karakter baris baru yang dikutip dalam kolom CSV dan tidak menafsirkan karakter baris baru yang dikutip sebagai batas baris

opsi CSV

Untuk mengubah cara BigQuery mengurai data CSV, tentukan opsi tambahan di Google Cloud Console, alat baris perintah ________34______35, atau API

Bagaimana cara memeriksa apakah file CSV kosong atau tidak di PHP?

PHP kosong() Fungsi . Fungsi ini mengembalikan false jika variabel ada dan tidak kosong, jika tidak maka mengembalikan true

Bagaimana saya tahu jika file CSV kosong?

read_csv(namafile) # atau pd. read_excel(namafile) untuk file xls df. kosong # akan mengembalikan True jika kerangka data kosong atau False jika tidak . Simpan jawaban ini.

Bagaimana cara memvalidasi file CSV di PHP?

php. $baris = larik(); . ==

Bagaimana cara menghitung jumlah baris dalam file CSV PHP?

Baris CSV dipisahkan oleh jeda baris. Oleh karena itu, pisahkan baris dengan jeda baris, dan Anda akan mendapatkan larik baris, yang dapat dihitung . Anda sebenarnya tidak membaca dari penunjuk file. Dan jika Anda hanya menghitung baris, maka count(file("test.