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

從MySQL導入數據

當您需要將云數據庫RDS MySQL或云原生數據庫PolarDB MySQL中的數據遷移至云數據庫ClickHouse中進行實時分析時,本文檔為您提供了以RDS MySQL為參考的示例,以幫助您輕松完成數據遷移任務。

前提條件

  • 已創建目標集群。

    說明
    • 如果您未創建目標集群,請先創建目標集群。具體操作,請參見新建集群

    • 目標集群需有高權限數據庫賬號。具體操作,請參見創建賬號

  • RDS MySQL與目標集群使用了相同的VPC,且在同一地域下,并將彼此的IP添加到了對方白名單中。如果不滿足此條件,請先解決網絡問題。具體操作,請參見如何解決目標集群與數據源網絡互通問題

    • ClickHouse如何添加白名單,請參見設置白名單

    • RDS MySQL如何添加白名單,請參見設置IP白名單

      說明

      您可以通過SELECT * FROM system.clusters;命令查看云數據庫ClickHouse集群的IP地址。

步驟一:創建RDS MySQL表并寫入數據

說明

本步驟涉及創建數據庫、表以及填充數據的操作。若您的RDS MySQL中已存在相關數據,可直接跳過此步驟。

  1. 通過DMS連接工具連接RDS MySQL實例,具體操作請參見通過DMS登錄RDS MySQL

  2. 執行創建數據庫語句。

    CREATE DATABASE testdb;
  3. 執行建表語句,在數據庫testdb中創建表mysql_test_table

    CREATE TABLE testdb.mysql_test_table (
      v1 Int NOT NULL,
      v2 Int DEFAULT NULL,
      v3 Float DEFAULT NULL
    ) ENGINE=InnoDB;
  4. 在表mysql_test_table中寫入數據。

    INSERT INTO testdb.mysql_test_table VALUES (4,4,4.0),(1,1,2.0),(1,1,0.0),(4,1,2.0),(7,1,3.0);

步驟二:創建云數據庫ClickHouse表

  1. 通過DMS連接云數據庫ClickHouse集群,具體操作請參見通過DMS連接ClickHouse

  2. 執行建表語句,以下示例為在默認數據庫default中創建表clickhouse_test_table

    CREATE TABLE default.clickhouse_test_table ON CLUSTER default (
    v1 Int32, 
    v2 Nullable(Int32),
    v3 Nullable(Float32)
    ) ENGINE = MergeTree ORDER BY v1;
    說明
    • 云數據庫ClickHouse表的結構類型需與RDS MySQL表對應。具體映射關系,請參見數據類型映射

    • RDS MySQL建表語句中未指定NOT NULL的列,值可以為NULL。同時,云數據庫ClickHouse建表語句中的對應列使用Nullable進行標識。

  3. (可選)創建分布式表clickhouse_test_table_distributed

    說明

    如果您的云數據庫ClickHouse集群為多節點集群,建議您選擇創建分布式表。分布式表通過利用集群中各服務器的存儲和計算資源,實現數據寫入和查詢操作的高效執行。不僅支持優秀的橫向擴展性,還確保了高性能以及高可用性。

    CREATE TABLE clickhouse_test_table_distributed ON CLUSTER default
     AS clickhouse_test_table
    ENGINE = Distributed(default, default, clickhouse_test_table, rand());

步驟三:讀取RDS MySQL數據并寫入云數據庫ClickHouse

通過DMS連接云數據庫ClickHouse集群并執行遷移語句,具體操作請參見通過DMS連接ClickHouse

語法如下:

INSERT INTO <ClickHouse表名> select * from mysql('<RDS MySQL連接地址>:<端口>', '<RDS MySQL數據庫>','<RDS MySQL表名>', '<RDS MySQL數據庫賬號>', '<RDS MySQL數據庫賬號的密碼>')
說明

如何獲取RDS MySQL的連接地址和端口,請參見查看和管理實例連接地址和端口

示例如下。

INSERT INTO clickhouse_test_table_distributed SELECT * FROM mysql('rm-bp16t9h3999xb****.mysql.rds.aliyuncs.com:3306','testdb','mysql_test_table','test','123456Aa');

步驟四:查詢云數據庫ClickHouse的數據

  1. 查詢導入到云數據庫ClickHouse的數據。輸入查詢語句并單擊執行(F8),確認數據是否同步成功,查詢語句如下。

    SELECT * FROM clickhouse_test_table_distributed;
    說明

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

  2. 查詢結果如下。

    image.png

數據類型映射

RDS MySQL或PolarDB MySQL類型

ClickHouse類型

Unsigned tinyint

UInt8

Tinyint

Int8

Unsigned smallint

UInt16

Smallint

Int16

Unsigned int,Unsigned mediumint

UInt32

Int,Mediumint

Int32

Unsigned bigint

UInt64

Bigint

Int64

Float

Float32

Double

Float64

Date

Date

Datetime,Timestamp

DateTime

Binary

FixedString

其他

String