DLI BEELINE 使用教程
1 使用Beeline连接DLI服务端
1.1 DLI Beeline简单介绍
DLI Beeline是一个用于连接DLI服务的客户端命令行交互工具,该工具基于DLI JDBC实现,提供SQL命令交互、批量SQL脚本执行的能力。使用华为云官网提供的DLI BEELINE工具,可以轻松的利用我们所熟悉的SQL语言将大数据玩弄于手掌之中。
1.2 DLI Beeline下载
注册/登陆华为云,在官网的产品中找到“EI企业智能”下的“数据湖探索”界面,进入控制台,点击右上角的“常用链接”,选择下载DLI BEELINE。下载得到beeline的压缩包。
1.3 使用DLI Beeline连接服务端
1. 前提条件:使用DLI Beeline的机器安装JDK 1.7或以上版本并配置环境变量,推荐在Linux环境下使用Beeline工具。
2. 下载并解压工具包dli-beeline-<version>-bin.tar.gz,其中version为版本号,以实际版本号为准。
3. 进入解压目录,里面有三个子目录conf、lib、bin,分别存放了Beeline相关的配置文件、依赖包和执行脚本。
4. 配置conf目录下的连接参数,将conf目录下的connection.properties.template重命名成connection.properties,并配置连接参数,目前支持基于账号的ak/sk的方式进行登陆。需要将模板文件中的参数值填写成真实的值。具体包括:
参数 | 说明 |
url | url的格式如下: jdbc:dli://<endPoint>/projectId?<key1>=<val1>;<key2>=<val2>…
endpoint指DLI的域名。projectId指项目ID。在地区和终端节点获取DLI对应的Endpoint,从公有云“用户名”>“我的凭证”页面获取项目编号。 “?”后面接其他配置项,每个配置项以“key=value”的形式列出,配置项之间以“;”隔开,这些配置项也可以通过Info对象传入。 |
queuename | DLI服务的队列名称。 |
authenticationmode | 身份认证方式,以AK/SK的方式认证则填写aksk。 |
servicename | 服务名 |
regionname | 区域名称,参见 https://developer.huaweicloud.com/endpoint |
accesskey | 用户的access key |
Secretkey | 用户的secret key |
5. 填写完连接参数后进入bin目录,启动beeline脚本,执行连接命令即可执行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脚本时通过命令行选项设置连接参数,如下所示,如果连接参数不全,Beeline会提示补全相关信息。
%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): <real access key> 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支持一系列命令,启动一个命令的标识以!开始,如!connect
支持的命令及使用方法如下:
命令 | 描述 |
!connect | 通过输入连接参数的方式连接到DLI服务,若不输入参数,则加载默认的connection.properties文件连接。 |
!help | 打印命令行的帮助文档。 |
!history | 展示命令行执行历史。 |
!outputformat | 设置查询结果的输出格式,支持table,vertical,csv2,dsv,tsv2,xmlattr,xmlelements,每一种格式的具体说明详见1.6. |
!properties | 通过加载connection.properties文件连接到DLI服务。该功能与!connect,但是可以指定连接配置文件。 |
!quit | 退出beeline会话。 |
!run | 执行一个SQL脚本 使用方法: !run <scriptfile> |
!save | 将当前的会话属性保存至beeline.properties中,下次开启beeline时会自动加载这些属性。 |
!script | 将执行的命令保存至一个文件中。例如: !script /tmp/mysession.script 执行该语句之后,后续的命令将被保存至/tmp/mysession.script 再次执行!script,结束脚本记录。 执行!run /tmp/mysession.script将会重新执行记录下来的命令。 |
!set | 设置Beeline变量,如!set color true, !set后面不接参数则显示所有变量值 |
!sh | 执行一个Shell脚本 !sh <shellscript> |
!sql | 显示地执行一条SQL语句,beeline中不带命令的语句默认会转换成!sql命令,sql语句必须以分号结尾。 !sql <sql> |
!DLIconf | 查看DLI 自定义配置 |
1.5 DLI Beeline支持的命令行选项
DLI Beeline支持的启动命令行选项如下:
命令 | 描述 |
-u <database URL> | 连接DLI JDBC的url,其中url需要采用单引号括起来 使用方式: beeline –u db_URL |
-e <query> | 需要执行的SQL语句,可以输入多条语句,以分号间隔,语句需要采用单引号括起来 |
-f <file> | 需要执行的脚本文件 |
--DLIconf property=value | 设置DLI属性配置 |
--property-file=<property-file> | 通过指定的方式获取连接属性文件并连接到DLI服务 |
--help | 打印命令行选项帮助 |
1.6 查询输出格式
DLI Beeline支持多种查询结果输出格式,输出格式可以通过!outputformat指定。DLI Beeline支持的输出格式包括:
table,vertical,csv2,dsv,tsv2,xmlattr,xmlelements
table
table格式输出的结果以表的形式展示,如
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
以行为单元组织数据,每一个属性以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
<resultset> <result id="1" value="Value1" comment="Test comment 1"/> <result id="2" value="Value2" comment="Test comment 2"/> <result id="3" value="Value3" comment="Test comment 3"/> </resultset> |
Xmlelements
<resultset> <result> <id>1</id> <value>Value1</value> <comment>Test comment 1</comment> </result> <result> <id>2</id> <value>Value2</value> <comment>Test comment 2</comment> </result> <result> <id>3</id> <value>Value3</value> <comment>Test comment 3</comment> </result> </resultset> |
Data Lake Insight 官网地址: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
- 点赞
- 收藏
- 关注作者
评论(0)