DLI BEELINE 使用教程
1????? 使用Beeline連接DLI服務(wù)端
1.1????? DLI Beeline簡單介紹
DLI Beeline是一個用于連接DLI服務(wù)的客戶端命令行交互工具,該工具基于DLI JDBC實現(xiàn),提供SQL命令交互、批量SQL腳本執(zhí)行的能力。使用華為云官網(wǎng)提供的DLI BEELINE工具,可以輕松的利用我們所熟悉的SQL語言將大數(shù)據(jù)玩弄于手掌之中。
1.2????? DLI Beeline下載
注冊/登陸華為云,在官網(wǎng)的產(chǎn)品中找到“EI企業(yè)智能”下的“數(shù)據(jù)湖探索”界面,進(jìn)入控制臺,點擊右上角的“常用鏈接”,選擇下載DLI BEELINE。下載得到beeline的壓縮包。
1.3????? 使用DLI Beeline連接服務(wù)端
1.?????? 前提條件:使用DLI Beeline的機器安裝JDK 1.7或以上版本并配置環(huán)境變量,推薦在Linux環(huán)境下使用Beeline工具。
2.?????? 下載并解壓工具包dli-beeline-
3.?????? 進(jìn)入解壓目錄,里面有三個子目錄conf、lib、bin,分別存放了Beeline相關(guān)的配置文件、依賴包和執(zhí)行腳本。
4.?????? 配置conf目錄下的連接參數(shù),將conf目錄下的connection.properties.template重命名成connection.properties,并配置連接參數(shù),目前支持基于賬號的ak/sk的方式進(jìn)行登陸。需要將模板文件中的參數(shù)值填寫成真實的值。具體包括:
參數(shù)
說明
url
url的格式如下:
jdbc:dli://
endpoint指DLI的域名。projectId指項目ID。在地區(qū)和終端節(jié)點獲取DLI對應(yīng)的Endpoint,從公有云“用戶名”>“我的憑證”頁面獲取項目編號。
“?”后面接其他配置項,每個配置項以“key=value”的形式列出,配置項之間以“;”隔開,這些配置項也可以通過Info對象傳入。
queuename
DLI服務(wù)的隊列名稱。
authenticationmode
身份認(rèn)證方式,以AK/SK的方式認(rèn)證則填寫aksk。
servicename
服務(wù)名
regionname
區(qū)域名稱,參見 https://developer.huaweicloud.com/endpoint
accesskey
用戶的access key
Secretkey
用戶的secret key
5.?????? 填寫完連接參數(shù)后進(jìn)入bin目錄,啟動beeline腳本,執(zhí)行連接命令即可執(zhí)行SQL語句,如下所示:
%bin/beeline
Start Beeline
Welcome to ? DLI service !
beeline> ? !connect
Connecting ? from the default connection.properties
Connecting ? to jdbc:DLI://DLI.cn-north-1.myhwclouds.com/8fc20d97a4444cafba3c3a8639380003
Connected ? to: DLI service
jdbc:DLI://DLI.cn-north-1.myhwclouds... ? (not set)> show databases;
+--------------------+
| ???databaseName??? |
+--------------------+
| ? bjhk?????????????? |
| ? db_xd????????????? |
| ? dimensions_adgame? |
| ? odbc_db??????????? |
| ? sdk_db???????????? |
| ? tpch_csv_1024????? |
| ? tpch_csv_4g_new??? |
| ? tpchnewtest??????? |
| ? tpchtest?????????? |
| xunjian??????????? |
+--------------------+
10 rows ? selected (0.338 seconds)
備注:用戶也可以在啟動beeline腳本時通過命令行選項設(shè)置連接參數(shù),如下所示,如果連接參數(shù)不全,Beeline會提示補全相關(guān)信息。
%bin/beeline -u 'jdbc:DLI://DLI.cn-north-1.myhwclouds.com/8fc20d97a4444cafba3c3a8639380003? ? authenticationmode=aksk'
Start Beeline
Connecting to jdbc:DLI://DLI.cn-north-1.myhwclouds.com/8fc20d97a4444cafba3c3a8639380003?usehttpproxy=true;proxyhost=10.186.60.154;proxyport=3128;authenticationmode=aksk
Enter region name: cn-north-1
Enter service name: DLI
Enter access key(AK):
Enter secret key(SK): ? ****************************************
Enter queue name: default
Connected to: DLI service
Welcome to DLI service !
jdbc:DLI://DLI.cn-north-1.myhwclouds... (not ? set)>
1.4????? DLI Beeline支持的命令
DLI Beeline支持一系列命令,啟動一個命令的標(biāo)識以!開始,如!connect
支持的命令及使用方法如下:
命令
描述
!connect
通過輸入連接參數(shù)的方式連接到DLI服務(wù),若不輸入?yún)?shù),則加載默認(rèn)的connection.properties文件連接。
!help
打印命令行的幫助文檔。
!history
展示命令行執(zhí)行歷史。
!outputformat
設(shè)置查詢結(jié)果的輸出格式,支持table,vertical,csv2,dsv,tsv2,xmlattr,xmlelements,每一種格式的具體說明詳見1.6.
!properties
通過加載connection.properties文件連接到DLI服務(wù)。該功能與!connect,但是可以指定連接配置文件。
!quit
退出beeline會話。
!run
執(zhí)行一個SQL腳本
使用方法: !run
!save
將當(dāng)前的會話屬性保存至beeline.properties中,下次開啟beeline時會自動加載這些屬性。
!script
將執(zhí)行的命令保存至一個文件中。例如:
!script /tmp/mysession.script
執(zhí)行該語句之后,后續(xù)的命令將被保存至/tmp/mysession.script
再次執(zhí)行!script,結(jié)束腳本記錄。
執(zhí)行!run /tmp/mysession.script將會重新執(zhí)行記錄下來的命令。
!set
設(shè)置Beeline變量,如!set color true,
!set后面不接參數(shù)則顯示所有變量值
!sh
執(zhí)行一個Shell腳本
!sh ?
!sql
顯示地執(zhí)行一條SQL語句,beeline中不帶命令的語句默認(rèn)會轉(zhuǎn)換成!sql命令,sql語句必須以分號結(jié)尾。
!sql ?
!DLIconf
查看DLI 自定義配置
1.5????? DLI Beeline支持的命令行選項
DLI Beeline支持的啟動命令行選項如下:
命令
描述
-u
連接DLI JDBC的url,其中url需要采用單引號括起來
使用方式: beeline ? –u db_URL
-e
需要執(zhí)行的SQL語句,可以輸入多條語句,以分號間隔,語句需要采用單引號括起來
-f
需要執(zhí)行的腳本文件
--DLIconf property=value
設(shè)置DLI屬性配置
--property-file=
通過指定的方式獲取連接屬性文件并連接到DLI服務(wù)
--help
打印命令行選項幫助
1.6????? 查詢輸出格式
DLI Beeline支持多種查詢結(jié)果輸出格式,輸出格式可以通過!outputformat指定。DLI Beeline支持的輸出格式包括:
table,vertical,csv2,dsv,tsv2,xmlattr,xmlelements
table
table格式輸出的結(jié)果以表的形式展示,如
select id, value, comment from test_table
+-----+---------+-----------------+
|?id??|??value??|?????comment?????|
+-----+---------+-----------------+
|?1???|?Value1??|?Test?comment?1??|
|?2???|?Value2??|?Test?comment?2??|
|?3???|?Value3??|?Test?comment?3??|
+-----+---------+-----------------+
vertical
以行為單元組織數(shù)據(jù),每一個屬性以key-value的形式展示:
select id, value, comment from test_table
id?????? ? 1
value??? ? Value1
comment? ? Test comment 1
id?????? ? 2
value??? ? Value2
comment? ? Test comment 2
id?????? ? 3
value??? ? Value3
comment? ? Test comment 3
csv2
id,value,comment
1,Value1,Test comment 1
2,Value2,Test comment 2
3,Value3,Test comment 3
dsv
id|value|comment
1|Value1|Test comment 1
2|Value2|Test comment 2
3|Value3|Test comment 3
tsv2
id??? value?????? comment
1???? Value1??? Test comment 1
2???? Value2??? Test comment 2
3???? Value3??? Test comment 3
Xmlattr
Xmlelements
Data Lake Insight 官網(wǎng)地址:https://www.huaweicloud.com/product/dli.html
Data Lake Insight 體驗地址:http://49.4.0.83:8080/#/main/queryEditor
Data Lake Insight 文檔中心:https://support.huaweicloud.com/usermanual-uquery/zh-cn_topic_0068141086.html
Data Lake Insight 論壇地址:https://forum.huaweicloud.com/forum-599-1.html
華為云 大數(shù)據(jù)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。