2.4 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | e8cd92bba3 |
41 | URL |
URL (URL, Biçim)
Uzak bir HTTP/HTTPS sunucusundaki verileri yönetir. Bu motor benzer to the Dosya motor.
ClickHouse sunucusunda motoru kullanma
Bu format
Clickhouse'un kullanabileceği bir tane olmalı
SELECT
sorgular ve gerekirse INSERTs
. Desteklenen formatların tam listesi için bkz.
Biçimliler.
Bu URL
tekdüzen bir kaynak Bulucu yapısına uygun olmalıdır. Belirtilen URL bir sunucuya işaret etmelidir
bu HTTP veya HTTPS kullanır. Bu herhangi bir gerektirmez
sunucudan yanıt almak için ek başlıklar.
INSERT
ve SELECT
sorgular dönüştürülür POST
ve GET
istemler,
sırasıyla. İşleme için POST
istekleri, uzak sunucu desteklemesi gerekir
Yığınlı aktarım kodlaması.
Kullanarak HTTP get yönlendirme şerbetçiotu sayısını sınırlayabilirsiniz max_http_get_redirects ayar.
Örnek:
1. Create a url_engine_table
sunucuda tablo :
CREATE TABLE url_engine_table (word String, value UInt64)
ENGINE=URL('http://127.0.0.1:12345/', CSV)
2. Standart Python 3 araçlarını kullanarak temel bir HTTP Sunucusu oluşturun ve Başlat:
from http.server import BaseHTTPRequestHandler, HTTPServer
class CSVHTTPServer(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/csv')
self.end_headers()
self.wfile.write(bytes('Hello,1\nWorld,2\n', "utf-8"))
if __name__ == "__main__":
server_address = ('127.0.0.1', 12345)
HTTPServer(server_address, CSVHTTPServer).serve_forever()
$ python3 server.py
3. Veri iste:
SELECT * FROM url_engine_table
┌─word──┬─value─┐
│ Hello │ 1 │
│ World │ 2 │
└───────┴───────┘
Uygulama Detayları
- Okuma ve yazma paralel olabilir
- Desteklenmiyor:
ALTER
veSELECT...SAMPLE
harekat.- Dizinler.
- Çoğalma.