国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

建表(Create Table) 數據倉庫 UDW Doris

ernest.wang / 2424人閱讀

摘要:數據排序使用的列數,取最前面幾列,不能超過總的列數。示例創建一個動態分區表。創建外部表創建外部表在創建外部表的目的是可以通過訪問外部數據庫。創建表時,關于和的數量和數據量的建議。

建表(Create Table)

創建表

語法:

CREATE TABLE [IF NOT EXISTS] [database.]table
(
    column_definition_list,
    [index_definition_list]
)
[engine_type]
[keys_type]
[table_comment]
[partition_info]
distribution_info
[rollup_list]
[properties]
[extra_properties]

參數說明:

參數說明 database數據庫的名稱。column_definition_list列定義列表。column_definition列定義。column_type列類型。云數據倉庫UDoris支持的數據類型, 請參見數據類型aggr_type 聚合類型。云數據庫UDoris支持的聚合類型,請參見 聚合類型index_definition索引定義。engine_type表引擎類型,本文檔中類型皆為OLAP。key_type數據模型。 DUPLICATE KEY(默認):其后指定的列為排序列。 AGGREGATE KEY:其后指定的列為維度列。 UNIQUE KEY:其后指定的列為主鍵列。 table_comment 表注釋。partition_desc分區信息。distribution_desc定義數據分桶方式。rollup_list建表的同時可以創建多個物化視圖。properties設置表屬性。目前支持以下屬性。 replication_num:副本數。默認副本數為3。 replication_allocation:根據Tag設置副本分布情況。該屬性可以完全覆蓋 replication_num 屬性的功能。 storage_medium/storage_cooldown_time:數據存儲介質。 colocate_with:當需要使用Colocation Join功能時,使用這個參數設置 Colocation Group。 bloom_filter_columns:用戶指定需要添加Bloom Filter索引的列名稱列表。各個列的 Bloom Filter 索引是獨立的,并不是組合索引。 in_memory:Doris 是沒有內存表的概念。 function_column.sequence_type:當使用UNIQUE KEY模型時,可以指定一個sequence列,當KEY列相同時,將按照sequence列進行REPLACE(較大值替換較小值,否則無法替換。 dynamic_partition.enable:用于指定表級別的動態分區功能是否開啟。默認為 true。 dynamic_partition.time_unit:用于指定動態添加分區的時間單位,可選擇為DAY(天),WEEK(周),MONTH(月),HOUR(時)。 dynamic_partition.start:用于指定向前刪除多少個分區。值必須小于0。默認為 Integer.MIN_VALUE。 dynamic_partition.end:用于指定提前創建的分區數量。值必須大于0。 dynamic_partition.prefix:用于指定創建的分區名前綴,例如分區名前綴為p,則自動創建分區名為p20200108。 dynamic_partition.buckets: 用于指定自動創建的分區分桶數量。 dynamic_partition.create_history_partition: 是否創建歷史分區。 dynamic_partition.history_partition_num: 指定創建歷史分區的數量。 dynamic_partition.reserved_history_periods: 用于指定保留的歷史分區的時間段。 data_sort.sort_type: 數據排序使用的方法,目前支持兩種:lexical/z-order,默認是lexical。 data_sort.col_num: 數據排序使用的列數,取最前面幾列,不能超過總的key列數。

示例:創建一個明細模型的表,分區,指定排序列,設置副本數為3

CREATE TABLE example_db.table_hash
(
    k1 DATE,
    k2 DECIMAL(10, 2) DEFAULT "10.5",
    k3 CHAR(10) COMMENT "string column",
    k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
)
DUPLICATE KEY(k1, k2)
COMMENT "my first table"
PARTITION BY RANGE(k1)
(
    PARTITION p1 VALUES LESS THAN ("2020-02-01"),
    PARTITION p1 VALUES LESS THAN ("2020-03-01"),
    PARTITION p1 VALUES LESS THAN ("2020-04-01")
)
DISTRIBUTED BY HASH(k1) BUCKETS 32
PROPERTIES (
    "replication_num" = "3"
);

示例:創建一個聚合模型表,使用固定范圍分區描述

CREATE TABLE table_range
(
    k1 DATE,
    k2 INT,
    k3 SMALLINT,
    v1 VARCHAR(2048) REPLACE,
    v2 INT SUM DEFAULT "1"
)
AGGREGATE KEY(k1, k2, k3)
PARTITION BY RANGE (k1, k2, k3)
(
    PARTITION p1 VALUES [("2014-01-01", "10", "200"), ("2014-01-01", "20", "300")),
    PARTITION p2 VALUES [("2014-06-01", "100", "200"), ("2014-07-01", "100", "300"))
)
DISTRIBUTED BY HASH(k2) BUCKETS 32

示例:創建兩張同一個 Colocation Group 自維護的表。

CREATE TABLE t1 (
    id int(11) COMMENT "",
    value varchar(8) COMMENT ""
)
DUPLICATE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 10
PROPERTIES (
    "colocate_with" = "group1"
);
CREATE TABLE t2 (
    id int(11) COMMENT "",
    value1 varchar(8) COMMENT "",
    value2 varchar(8) COMMENT ""
)
DUPLICATE KEY(`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS 10
PROPERTIES (
    "colocate_with" = "group1"
);

示例:創建一個動態分區表。

CREATE TABLE example_db.dynamic_partition
(
    k1 DATE,
    k2 INT,
    k3 SMALLINT,
    v1 VARCHAR(2048),
    v2 DATETIME DEFAULT "2014-02-04 15:36:00"
)
DUPLICATE KEY(k1, k2, k3)
PARTITION BY RANGE (k1) ()
DISTRIBUTED BY HASH(k2) BUCKETS 32
PROPERTIES(
    "dynamic_partition.time_unit" = "DAY",
    "dynamic_partition.start" = "-3",
    "dynamic_partition.end" = "3",
    "dynamic_partition.prefix" = "p",
    "dynamic_partition.buckets" = "32" 
);
創建外部表在Doris創建外部表的目的是可以通過Doris訪問外部數據庫。而Doris本身并不維護、存儲任何外部數據。

主要通過 ENGINE 類型來標識是哪種類型的外部表,目前可選 ODBC、HIVE、ICEBERG 、HUDI。

示例:通過ODBC_Resource來創建ODBC外表。

CREATE EXTERNAL RESOURCE `oracle_odbc`
PROPERTIES (
"type" = "odbc_catalog",
"host" = "192.168.0.1",
"port" = "8086",
"user" = "test",
"password" = "test",
"database" = "test",
"odbc_type" = "oracle",
"driver" = "Oracle 19 ODBC driver"
);
CREATE EXTERNAL TABLE `baseall_oracle` (
  `k1` decimal(9, 3) NOT NULL COMMENT "",
  `k2` char(10) NOT NULL COMMENT "",
  `k3` datetime NOT NULL COMMENT "",
  `k5` varchar(20) NOT NULL COMMENT "",
  `k6` double NOT NULL COMMENT ""
) ENGINE=ODBC
COMMENT "ODBC"
PROPERTIES (
"odbc_catalog_resource" = "oracle_odbc",
"database" = "test",
"table" = "baseall"
);

示例:創建一個hive外部表。

CREATE TABLE example_db.table_hive
(
  k1 TINYINT,
  k2 VARCHAR(50),
  v INT
)
ENGINE=hive
PROPERTIES
(
  "database" = "hive_db_name",
  "table" = "hive_table_name",
  "hive.metastore.uris" = "thrift://127.0.0.1:9083"
);

示例:創建一個 Iceberg 外表。

CREATE TABLE example_db.t_iceberg 
ENGINE=ICEBERG
PROPERTIES (
    "iceberg.database" = "iceberg_db",
    "iceberg.table" = "iceberg_table",
    "iceberg.hive.metastore.uris"  =  "thrift://127.0.0.1:9083",
    "iceberg.catalog.type"  =  "HIVE_CATALOG"
);

示例:創建一個 Hudi 外表。

CREATE TABLE example_db.t_hudi
ENGINE=HUDI
PROPERTIES (
"hudi.database" = "hudi_db_in_hive_metastore",
"hudi.table" = "hudi_table_in_hive_metastore",
"hudi.hive.metastore.uris" = "thrift://127.0.0.1:9083"
);

創建表時,關于 Partition 和 Bucket 的數量和數據量的建議。

一個表的 Tablet 總數量等于 (Partition num * Bucket num)。一個表的 Tablet 數量,在不考慮擴容的情況下,推薦略多于整個集群的磁盤數量。單個 Tablet 的數據量理論上沒有上下界,但建議在 1G - 10G 的范圍內。如果單個 Tablet 數據量過小,則數據的聚合效果不佳,且元數據管理壓力大。如果數據量過大,則不利于副本的遷移、補齊,且會增加 Schema Change 或者 Rollup 操作失敗重試的代價(這些操作失敗重試的粒度是 Tablet)。當 Tablet 的數據量原則和數量原則沖突時,建議優先考慮數據量原則。在建表時,每個分區的 Bucket 數量統一指定。但是在動態增加分區時(ADD PARTITION),可以多帶帶指定新分區的 Bucket 數量。可以利用這個功能方便的應對數據縮小或膨脹。一個 Partition 的 Bucket 數量一旦指定,不可更改。所以在確定 Bucket 數量時,需要預先考慮集群擴容的情況。比如當前只有 3 臺 host,每臺 host 有 1 塊盤。如果 Bucket 的數量只設置為 3 或更小,那么后期即使再增加機器,也不能提高并發度。舉一些例子:假設在有10臺BE,每臺BE一塊磁盤的情況下。如果一個表總大小為 500MB,則可以考慮4-8個分片。5GB:8-16個分片。50GB:32個分片。500GB:建議分區,每個分區大小在 50GB 左右,每個分區16-32個分片。5TB:建議分區,每個分區大小在 50GB 左右,每個分區16-32個分片

官網參考文檔

創建表的更多信息,請參見CREATE TABLE。創建外部表,請參見CREATE-EXTERNAL-TABLE

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126878.html

相關文章

  • 概覽 數據倉庫 UDW Doris

    摘要:概覽概覽概覽產品動態產品介紹什么是云數據倉庫產品優勢應用場景基本概念使用限制快速上手操作指南管理集群配置升降級節點擴容重啟實例重置管理員密碼刪除集群連接集群數據導入本地數據導入數據導入通過導入開發指南數據類型語法創建庫創建表創建視圖插入數 概覽概覽產品動態產品介紹什么是云數據倉庫UDoris產品優勢應用場景基本概念使用限制快速上手操作指南管理集群Backend配置升降級Frontend節點擴...

    ernest.wang 評論0 收藏1705
  • 重啟集群 數據倉庫 UDW Doris

    摘要:重啟集群重啟集群重啟集群當您需要重啟集群時,登錄賬號進入到用戶控制臺,在全部產品下搜索或者數據倉庫下選擇數據倉庫,進入到數據倉庫控制臺下,選擇操作重啟注意重啟集群為高危操作,集群將處于重啟中持續數秒,建議無必要時不要隨意重啟實例,這將會 重啟集群當您需要重啟集群時,登錄UCloud賬號進入到用戶控制臺,在全部產品下搜索或者數據倉庫下選擇數據倉庫 UDW Doris,進入到數據倉庫UDoris...

    ernest.wang 評論0 收藏2903
  • 產品購買與使用 數據倉庫 UDW Doris

    摘要:如何連接云數據倉庫如何連接云數據倉庫如何連接云數據倉庫為保證安全,云數據倉庫僅提供內網網絡,您連接集群時可以配合同一地域的云主機或者網絡產品使用。 產品購買與使用本篇目錄為什么只提供一種云盤類型?配置升降級對集群有什么影響?配置升級有什么建議?如何連接云數據倉庫UDoris?為什么只提供一種云盤類型?Doris的存儲特性對磁盤吞吐量要求很高,為保證Doris的性能優勢, 因此僅提供RSSD云...

    ernest.wang 評論0 收藏1167
  • 聚合函數 數據倉庫 UDW Doris

    摘要:聚合函數函數名稱描述語法統計行數或者非值個數求最小值求最大值統計行數或者非值個數去重計算輸入的并集,返回新的計算輸入的并集,返回其基數計算和類型的列中不同值的個數,返回值和相同非精確快速去重列的類型不能是或者且表為模型聚合函數函數名稱描述語法 sum統計行數或者非NULL值個數sum(expr)min求最小值min(column)max求最大值max(column)count統計行數或...

    ernest.wang 評論0 收藏146
  • 概覽 數據倉庫 UDW Clickhouse

    摘要:概覽概覽概覽產品動態產品介紹什么是云數據倉庫產品優勢應用場景基本概念使用限制快速上手操作指南管理集群配置升降級重啟實例重置管理員密碼刪除集群連接集群數據同步本地數據導入數據導入數據導入間數據導入開發指南數據類型語法創建庫創建表創建視圖插入 概覽概覽產品動態產品介紹什么是云數據倉庫 UClickHouse產品優勢應用場景基本概念使用限制快速上手操作指南管理集群配置升降級重啟實例重置管理員密碼刪...

    ernest.wang 評論0 收藏1076

發表評論

0條評論

ernest.wang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<