DLI BEELINE 使用教程

举报
DataLakeInsight 发表于 2018/06/11 20:36:57 2018/06/11
【摘要】 DLI Beeline是一个用于连接DLI服务的客户端命令行交互工具,该工具基于DLI JDBC实现,提供SQL命令交互、批量SQL脚本执行的能力。使用华为云官网提供的DLI BEELINE工具,可以轻松的利用我们所熟悉的SQL语言将大数据玩弄于手掌之中。

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.       进入解压目录,里面有三个子目录conflibbin,分别存放了Beeline相关的配置文件、依赖包和执行脚本。

4.       配置conf目录下的连接参数,将conf目录下的connection.properties.template重命名成connection.properties,并配置连接参数,目前支持基于账号的ak/sk的方式进行登陆。需要将模板文件中的参数值填写成真实的值。具体包括:

参数

说明

url

url的格式如下:

jdbc:dli://<endPoint>/projectId?<key1>=<val1>;<key2>=<val2>…

 

endpointDLI的域名。projectId指项目ID。在地区和终端节点获取DLI对应的Endpoint,从公有云“用户名”>“我的凭证”页面获取项目编号。

“?”后面接其他配置项,每个配置项以“key=value”的形式列出,配置项之间以“;”隔开,这些配置项也可以通过Info对象传入。

queuename

DLI服务的队列名称。

authenticationmode

身份认证方式,以AK/SK的方式认证则填写aksk

servicename

服务名

regionname

区域名称,参见 https://developer.huaweicloud.cn/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 JDBCurl,其中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.cn/product/dli.html

Data Lake Insight 体验地址:http://49.4.0.83:8080/#/main/queryEditor

Data Lake Insight 文档中心:https://support.huaweicloud.cn/usermanual-uquery/zh-cn_topic_0068141086.html

Data Lake Insight 论坛地址:https://forum.huaweicloud.cn/forum-599-1.html


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。