* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
3.8 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
37 | Dosya |
Dosya
Bir dosyadan bir tablo oluşturur. Bu tablo işlevi benzer url ve hdf'ler biri.
file(path, format, structure)
Giriş parametreleri
path
— The relative path to the file from user_files_path. Readonly modunda glob'ları takip eden dosya desteğine giden yol:*
,?
,{abc,def}
ve{N..M}
neredeN
,M
— numbers, `'abc', 'def'
— strings.format
— The biçimli dosya.structure
— Structure of the table. Format'column1_name column1_type, column2_name column2_type, ...'
.
Döndürülen değer
Belirtilen dosyada veri okumak veya yazmak için belirtilen yapıya sahip bir tablo.
Örnek
Ayar user_files_path
ve dosyanın içeriği test.csv
:
$ grep user_files_path /etc/clickhouse-server/config.xml
<user_files_path>/var/lib/clickhouse/user_files/</user_files_path>
$ cat /var/lib/clickhouse/user_files/test.csv
1,2,3
3,2,1
78,43,45
Tablo fromdantest.csv
ve ondan ilk iki satır seçimi:
SELECT *
FROM file('test.csv', 'CSV', 'column1 UInt32, column2 UInt32, column3 UInt32')
LIMIT 2
┌─column1─┬─column2─┬─column3─┐
│ 1 │ 2 │ 3 │
│ 3 │ 2 │ 1 │
└─────────┴─────────┴─────────┘
-- getting the first 10 lines of a table that contains 3 columns of UInt32 type from a CSV file
SELECT * FROM file('test.csv', 'CSV', 'column1 UInt32, column2 UInt32, column3 UInt32') LIMIT 10
Yolda Globs
Birden çok yol bileşenleri globs olabilir. İşlenmek için dosya var olmalı ve tüm yol deseniyle eşleşmelidir (sadece sonek veya önek değil).
*
— Substitutes any number of any characters except/
boş dize dahil.?
— Substitutes any single character.{some_string,another_string,yet_another_one}
— Substitutes any of strings'some_string', 'another_string', 'yet_another_one'
.{N..M}
— Substitutes any number in range from N to M including both borders.
İle yapılar {}
benzer olan uzaktan masa fonksiyonu).
Örnek
- Aşağıdaki göreli yollara sahip birkaç dosyamız olduğunu varsayalım:
- ‘some_dir/some_file_1’
- ‘some_dir/some_file_2’
- ‘some_dir/some_file_3’
- ‘another_dir/some_file_1’
- ‘another_dir/some_file_2’
- ‘another_dir/some_file_3’
- Bu dosyalardaki satır miktarını sorgula:
SELECT count(*)
FROM file('{some,another}_dir/some_file_{1..3}', 'TSV', 'name String, value UInt32')
- Bu iki dizinin tüm dosyalarındaki satır miktarını sorgula:
SELECT count(*)
FROM file('{some,another}_dir/*', 'TSV', 'name String, value UInt32')
!!! warning "Uyarıcı"
Dosya listenizde önde gelen sıfırlar içeren sayı aralıkları varsa, her basamak için parantez içeren yapıyı ayrı ayrı kullanın veya kullanın ?
.
Örnek
Adlı dosy thealardan verileri sorgu thelamak file000
, file001
, … , file999
:
SELECT count(*)
FROM file('big_dir/file{0..9}{0..9}{0..9}', 'CSV', 'name String, value UInt32')
Sanal Sütunlar
_path
— Path to the file._file
— Name of the file.
Ayrıca Bakınız