日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用clickhouse-client導入數據

當您需要將本地文件的數據導入到云數據庫ClickHouse時,本文將指導您如何通過clickhouse-client工具進行數據導入,以幫助您快速的完成數據導入。

注意事項

支持導入到云數據庫ClickHouse的常見文件格式為TabSeparated、TabSeparatedWithNames、TabSeparatedWithNamesAndTypes、CSV和CSVWithNames。常見文件格式說明,詳情請參見常見文件格式。若您的文件為其他格式,需滿足ClickHouse社區標準,更多信息請參見文件格式及說明

前提條件

  • 已將本地機器的IP地址添加到云數據庫ClickHouse的白名單中。如何添加白名單,詳情請參見設置白名單

  • 已安裝與云數據庫ClickHouse集群版本對應的clickhouse-client工具。下載鏈接,請參見clickhouse-client

步驟一:準備測試數據

在clickhouse-client客戶端的安裝目錄下,創建文件testdata.csv并寫入如下數據。

1,yang,32,shanghai,http://example.com
2,wang,22,beijing,http://example.com
3,xiao,23,shenzhen,http://example.com
4,jess,45,hangzhou,http://example.com
5,jack,14,shanghai,http://example.com
6,tomy,25,hangzhou,http://example.com
7,lucy,45,shanghai,http://example.com
8,tengyin,26,shanghai,http://example.com
9,wangli,27,shenzhen,http://example.com
10,xiaohua,37,shanghai,http://example.com

步驟二:創建云數據庫ClickHouse

  1. 登錄云數據庫ClickHouse控制臺

  1. 在頁面左上角,選擇目標集群所在的地域。

  1. 集群列表頁面,根據您的集群類型選擇對應的頁簽,單擊目標集群ID。

  1. 單擊右上方導航欄的登錄數據庫

  1. 登錄實例頁面,輸入數據庫賬號和密碼,單擊登錄

  1. 創建表。

    說明

    云數據庫ClickHouse表的結構類型需與本地文件數據類型對應。

    • 創建本地表:

      • 如果您的集群是單副本版,請輸入如下建表語句。

        CREATE TABLE test_tbl_local ON cluster default
        (
        id UInt8,
        user_name String,
        age UInt16,
        city String,
        access_url String
        )
        ENGINE = MergeTree()
        ORDER BY id;
      • 如果您的集群是雙副本版,請輸入如下建表語句。

        CREATE TABLE test_tbl_local ON cluster default
        (
        id UInt8,
        user_name String,
        age UInt16,
        city String,
        access_url String
        )
        ENGINE = ReplicatedMergeTree('/clickhouse/tables/{database}/{table}/{shard}', '{replica}')
        order by id;
    • 創建分布式表。

      說明

      如果您只需要導入本地文件數據至本地表,可跳過此步驟。

      CREATE TABLE test_tbl_distributed ON cluster default
      (
      id UInt8,
      user_name String,
      age UInt16,
      city String,
      access_url String
      )
      ENGINE = Distributed(default, default, test_tbl_local, rand());

步驟三:導入本地文件數據

在clickhouse-client客戶端的安裝目錄下執行如下命令。

cat <本地文件名> | ./clickhouse-client --host=<數據庫連接地址> --port=<TCP端口號> --user=<數據庫賬號> --password=<數據庫賬號的密碼> --query="INSERT INTO <ClickHouse表名> FORMAT <本地文件格式>";
說明

外網導入數據速度較慢,如果數據量較大或者測試導入性能,您可以采用如下方法。

  • 內網導入:購買與云數據庫ClickHouse集群在同一個VPC網絡的ECS實例,從ECS通過VPC地址連接云數據庫ClickHouse集群并導入數據。

  • 多進程導入:將原始文件等分為多份,啟動多個client多進程并發導入。

步驟四:查詢云數據庫ClickHouse

  1. 通過DMS連接集群,詳情請參見通過DMS連接ClickHouse

  1. 執行查詢語句。

    SELECT * FROM test_tbl_distributed; 
    說明

    如果您導入的是本地表,請將查詢語句中的分布式表名更換為本地表名,再進行查詢。

    查詢結果如下。查詢結果

常見文件格式

云數據庫ClickHouse支持常見文件格式如下。

常見文件格式

說明

TabSeparated

數據按行寫入文本文件中,列與列之間通過Tab分割。需要對Tab、換行符、反斜線進行轉義處理,分別對應為:\t\n\\。 NULL值使用\N進行表示。

TabSeparatedWithNames

與TabSeparated類似,區別是第一行是列名。解析時,第一行會被忽略,因此不能夠使用第一行列名來決定列的位置。

TabSeparatedWithNamesAndTypes

與TabSeparated類似,區別是第一行是列名,第二行是類型。解析時,第一行、第二行都會被忽略。

CSV

數據按行寫入文件中。字符串類型使用英文雙引號括起來,字符串本身的雙引號用兩個雙引號進行轉義,數值類型不使用雙引號。默認列分隔符為,,您也可以通過--format_csv_delimiter指定其他列分隔符,例如列與列之間使用豎線分割,則命令示例如下。

cat testdata.csv | ./clickhouse-client --format_csv_delimiter="|" --host=cc-bp163l724nkf8****.clickhouse.ads.aliyuncs.com --port=3306 --user=test --password=123456Aa --query="INSERT INTO test_tbl_distributed FORMAT CSV";

CSVWithNames

與CSV類似,區別是第一行表示列名。解析時,第一行會被忽略,因此不能夠使用第一行列名來決定列的位置。