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

2.4 KiB
Raw Blame History

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

Orijinal makale