ClickHouse/docs/tr/engines/table_engines/special/file.md
2020-04-15 16:56:49 +03:00

3.3 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true e8cd92bba3 37 Dosya

Dosya

Dosya tablosu altyapısı, verileri desteklenen dosyalardan birinde tutar Dosya biçimliler (TabSeparated, yerli, vb.).

Kullanım örnekleri:

  • Clickhouse'dan dosyaya veri aktarımı.
  • Verileri bir biçimden diğerine dönüştürün.
  • Bir diskte bir dosya düzenleme yoluyla ClickHouse veri güncelleme.

ClickHouse Sunucusunda Kullanım

File(Format)

Bu Format parametre kullanılabilir dosya biçimlerinden birini belirtir. Gerçekleştirmek SELECT sorgular, biçim giriş için desteklenmeli ve gerçekleştirmek için INSERT queries for output. The available formats are listed in the Biçimliler bölme.

ClickHouse dosya sistemi yolunu belirtmek için izin vermiyorFile. Tarafından tanımlanan klasörü kullan willacaktır yol sunucu yapılandırmasında ayarlama.

Kullanarak tablo oluştururken File(Format) bu klasörde boş bir alt dizin oluşturur. Veri o tabloya yazıldığında, içine konur data.Format bu alt dizinde dosya.

Bu alt klasörü ve dosyayı sunucu dosya sisteminde el ile oluşturabilir ve sonra ATTACH eşleşen ada sahip tablo bilgilerine, böylece bu dosyadan veri sorgulayabilirsiniz.

!!! warning "Uyarıcı" Bu işlevselliğe dikkat edin, çünkü ClickHouse bu tür dosyalarda harici değişiklikleri izlemez. ClickHouse ve ClickHouse dışında eşzamanlı yazma sonucu tanımsızdır.

Örnek:

1. Set up the file_engine_table Tablo:

CREATE TABLE file_engine_table (name String, value UInt32) ENGINE=File(TabSeparated)

Varsayılan olarak ClickHouse klasör oluşturur /var/lib/clickhouse/data/default/file_engine_table.

2. El ile oluştur /var/lib/clickhouse/data/default/file_engine_table/data.TabSeparated içerme:

$ cat data.TabSeparated
one 1
two 2

3. Verileri sorgula:

SELECT * FROM file_engine_table
┌─name─┬─value─┐
│ one  │     1 │
│ two  │     2 │
└──────┴───────┘

Clickhouse'da kullanım-yerel

İçinde clickhouse-yerel Dosya motoru ek olarak dosya yolunu kabul eder Format. Varsayılan giriş / çıkış akışları gibi sayısal veya insan tarafından okunabilir isimler kullanılarak belirtilebilir 0 veya stdin, 1 veya stdout. Örnek:

$ echo -e "1,2\n3,4" | clickhouse-local -q "CREATE TABLE table (a Int64, b Int64) ENGINE = File(CSV, stdin); SELECT a, b FROM table; DROP TABLE table"

Uygulama Detayları

  • Çoklu SELECT sorgular aynı anda yapılabilir, ancak INSERT sorgular birbirini bekler.
  • Tarafından yeni dosya oluşturma desteklenen INSERT sorgu.
  • Dosya varsa, INSERT içinde yeni değerler ekler.
  • Desteklenmiyor:
    • ALTER
    • SELECT ... SAMPLE
    • Dizinler
    • Çoğalma

Orijinal makale