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 ve SELECT...SAMPLE harekat.
    • Dizinler.
    • Çoğalma.

Orijinal makale

Rating: 4 - 5 votes

Was this content helpful?
★★★★☆