日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Palo Doris不会用?(基础指南)

發布時間:2024/10/12 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Palo Doris不会用?(基础指南) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來源于百度開發者中心https://developer.baidu.com/article/detail.html?id=294240

基礎使用指南

在快速入門教程中,我們通過 Doris 的 UI 界面完成了 Doris 的一些基本操作。而在實際生產環境中,用戶通常需要使用程序連接到 Doris 并進行各種操作。

Doris 采用 MySQL 協議進行通信,因此用戶可以標準的 MySQL 客戶端,或者使用各種語言的 MySQL 庫、JDBC、ODBC 等連接Doris。本文以 MySQL client 為例,通過一個完整的流程向用戶展示 Doris 的基本使用方法。

選擇 MySQL client 版本時建議采用5.1 之后的版本,因為 5.1 之前不能支持長度超過 16 個字符的用戶名。
您可以從這里下載 Linux 版本的 MySQL 客戶端:mysql-5.7.22-linux-glibc2.12-x86_64。(解壓后,在 bin/ 目錄下有 mysql 二進制程序。)

創建用戶和數據庫

用戶在創建 Doris 集群時設置的密碼即為 Doris 的 admin 用戶的密碼。Doris 集群初始默認包含一個 admin 用戶,用戶可以通過 admin 用戶和 Doris 進行初次連接。

mysql -hDORIS_HOST -PDORIS_PORT -uadmin -pyour_password
如果使用的是 8.0 以上版本的 MySQL 客戶端,請添加參數:

mysql —default-auth=mysql_native_password -hDORIS_HOST -PDORIS_PORT -uadmin -pyour_password
這里的 host 和 port 為在 Doris 控制臺頁面給出的MySQL協議連接目標。如果用戶綁定了 EIP,則替換為 EIP 即可。

admin 用戶擁有集群的全部操作權限。建議僅管理員使用。管理員可以使用 admin 用戶創建普通用戶并授予相應的權限。

通過下面的命令創建一個普通用戶。

CREATE USER ‘jack’ IDENTIFIED BY ‘jack_passwd’;
新創建的普通用戶默認沒有任何權限。我們接下來可以創建一個數據庫并授權給用戶 jack。

CREATE DATABASE example_db;

GRANT ALL ON example_db to “jack”;

之后,我們可以使用 jack 用戶進行登錄并查看數據庫。

mysql -hDORIS_HOST -PDORIS_PORT -ujack -pjack_passwordMySQL>SHOWDATABASES;

+--------------------+ | Database | +--------------------+ | example_db | | information_schema | +--------------------+ 2 rows in set (0.00 sec)

創建表

首先切換數據庫:

USE example_db;
接下來創建一張表:

CREATE TABLE lineorder (lo_orderkey BIGINT,lo_linenumber BIGINT,lo_custkey INT,lo_partkey INT,lo_suppkey INT,lo_orderdate INT,lo_orderpriotity VARCHAR(16),lo_shippriotity INT,lo_quantity BIGINT,lo_extendedprice BIGINT,lo_ordtotalprice BIGINT,lo_discount BIGINT,lo_revenue BIGINT,lo_supplycost BIGINT,lo_tax BIGINT,lo_commitdate BIGINT,lo_shipmode VARCHAR(11) ) DISTRIBUTED BY HASH(lo_orderkey) PROPERTIES ("replication_num"="1");

這里我們創建一個 Star Schema Benchmark 中的 lineorder 表。使用 lo_orderkey 作為分桶列,并設置副本數為1。

默認建表的副本數為3,而當集群的 BE 節點數小于3時,副本數不得大于 BE 節點數。

表建完之后,可以查看 example_db 中表的信息:

MySQL> SHOW TABLES; +----------------------+ | Tables_in_example_db | +----------------------+ | lineorder | +----------------------+ 2 rows in set (0.01 sec)mysql> DESC lineorder; +------------------+-------------+------+-------+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+-------------+------+-------+---------+-------+ | lo_orderkey | BIGINT | Yes | true | NULL | | | lo_linenumber | BIGINT | Yes | true | NULL | | | lo_custkey | INT | Yes | true | NULL | | | lo_partkey | INT | Yes | false | NULL | NONE | | lo_suppkey | INT | Yes | false | NULL | NONE | | lo_orderdate | INT | Yes | false | NULL | NONE | | lo_orderpriotity | VARCHAR(16) | Yes | false | NULL | NONE | | lo_shippriotity | INT | Yes | false | NULL | NONE | | lo_quantity | BIGINT | Yes | false | NULL | NONE | | lo_extendedprice | BIGINT | Yes | false | NULL | NONE | | lo_ordtotalprice | BIGINT | Yes | false | NULL | NONE | | lo_discount | BIGINT | Yes | false | NULL | NONE | | lo_revenue | BIGINT | Yes | false | NULL | NONE | | lo_supplycost | BIGINT | Yes | false | NULL | NONE | | lo_tax | BIGINT | Yes | false | NULL | NONE | | lo_commitdate | BIGINT | Yes | false | NULL | NONE | | lo_shipmode | VARCHAR(11) | Yes | false | NULL | NONE | +------------------+-------------+------+-------+---------+-------+ 17 rows in set (0.02 sec)

導入數據

Doris 支持多種數據導入方式。具體可以參閱數據導入文檔。這里我們使用 Broker 導入做示例。

Broker 導入通過集群內置的 Broker 進程,讀取外部存儲上的數據進行導入。更多幫助請參閱操作手冊中關于 Broker 的介紹。

使用 Broker 導入需要預先將導入數據文件存放到百度對象存儲 BOS 上。我們在這里準備了一份 lineorder 表的數據(約 100MB)。用戶可以下載后上傳到自己的 BOS 中。并開始導入。

lineorder數據示例

如何上傳至 BOS 以及從 BOS 導入數據的詳細文檔可參閱 導入BOS中的數據。

假設用戶存放導入文件的 BOS 路徑為:bos://example_bucket/lineorder_1.tbl

則我們可以通過以下命令導入數據:

LOAD LABEL example_db.my_first_load(DATA INFILE("bos://example_bucket/lineorder_1.tbl")INTO TABLE lineorder ) WITH BROKER 'bos' ("bos_endpoint" = "http://bj.bcebos.com","bos_accesskey" = "xxxxxxxxxxxxxxxxxxxxxxxxxx","bos_secret_accesskey"="yyyyyyyyyyyyyyyyyyyy" );
  • 公有云 Doris 集群的 Broker 名稱為 bos。可以通過 SHOW BROKER; 查看。
  • 本示例中 bos_endpoint為 http://bj.bcebos.com。用戶需根據不同的地域指定不同的 endpoint。
  • accesskey 和secret_accesskey 可以在公有云安全認證中心查看。
  • Broker 導入是異步命令。以上命令執行成功只表示提交任務成功。

    導入是否成功需要根據導入 label,通過 SHOW LOAD 命令查看。本示例的 label 為 my_first_load:

    SHOW LOAD WHERE LABLE = “my_first_load”;

    返回結果中,State 字段為 FINISHED 則表示導入成功。之后我們就可以查詢數據了。

    數據的查詢

    Doris 支持絕大部分 SQL 92 和 99 標準中的 SQL 語法,以及部分 SQL 2003 標準中的語法。基本可以涵蓋絕大部分 SQL 使用場景。以下通過一些簡單的示例進行展示。

    簡單查詢
    示例:

    MySQL> SELECT * FROM table1 LIMIT 3; +--------+----------+----------+------+ | siteid | citycode | username | pv | +--------+----------+----------+------+ | 2 | 1 | 'grace' | 2 | | 5 | 3 | 'helen' | 3 | | 3 | 2 | 'tom' | 2 | +--------+----------+----------+------+ 5 rows in set (0.01 sec)MySQL> SELECT * FROM table1 ORDER BY citycode; +--------+----------+----------+------+ | siteid | citycode | username | pv | +--------+----------+----------+------+ | 2 | 1 | 'grace' | 2 | | 1 | 1 | 'jim' | 2 | | 3 | 2 | 'tom' | 2 | | 4 | 3 | 'bush' | 3 | | 5 | 3 | 'helen' | 3 | +--------+----------+----------+------+ 5 rows in set (0.01 sec)

    Join 查詢
    示例:

    MySQL> SELECT SUM(table1.pv) FROM table1 JOIN table2 WHERE table1.siteid = table2.siteid; +--------------------+ | sum(`table1`.`pv`) | +--------------------+ | 12 | +--------------------+ 1 row in set (0.20 sec)

    子查詢
    示例:

    MySQL> SELECT SUM(pv) FROM table2 WHERE siteid IN (SELECT siteid FROM table1 WHERE siteid > 2);+-----------+| sum(`pv`) | +-----------+ | 8 | +-----------+ 1 row in set (0.13 sec)

    點擊進入獲得更多技術信息~~

    總結

    以上是生活随笔為你收集整理的Palo Doris不会用?(基础指南)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。