SequoiaDB巨杉数据库_SequoiaDB
SequoiaDB巨杉数据库_下载

文档

安装

基本操作

数据模型

系统架构

数据库管理

连接器

驱动

参考手册

故障排除

SAC

Web服务

版本信息

帮助

  • 内容
  • 评论
  • 修订记录

Sparksql

开始使用 SparkSQL

SparkSQL 是 Spark 下处理结构化数据执行的模块,它提供了名为 DataFrames 的程序抽象工具,同时他还能作为分布式的 SQL 查询引擎。

只要 Spark 的安装配置符合要求,通过 SequoiaDB 使用 SparkSQL 也是很简单的。

假设集合名为“test.data”,协调节点在 serverX 和 serverY 上,以下指令可以在 spark-shell 执行,并创建一个临时表来对应 SequoiaDB 的 Collection(集合):

scala> sqlContext.sql("CREATE TEMPORARY TABLE datatable USING com.sequoiadb.spark OPTIONS ( host 'serverX:11810,serverY:11810', collectionspace 'test', collection 'data')")

除了特别定义的表模式,其将会扫描整个表同时根据每条记录的字段信息来构建表的模式。如果集合中的记录非常多,处理速度将会很慢。

另一种构建表的方式是使用 CREATE TABLE 指令来构建表模式:

scala> sqlContext.sql("CREATE temporary table datatable ( c1 string, c2 int, c3 int ) using com.sequoiadb.spark OPTIONS ( host 'serverX:11810,serverY:11810', collectionspace 'test', collection 'data')")

Note:

临时表只在它被创建的那一个 Session 期间有效。

以下 query 查询可被用于获取表中的数据

scala> sqlContext.sql("select * from datatable").foreach(println)

在 SparkSQL 使用 JDBC

此处使用的 Thrift JDBC/ODBC 服务器对应着 Hive 0.12 的 HiveServer2。你可以用直线脚本在 Hive0.12 或者 Spark 测试 JDBC 服务器。

Spark 的镜像需要在选项-Phive,-Phivethriftserver 下配置。否则 sbin/start-thriftserver.sh 将会显示以下的错误信息:

failed to launch org.apache.spark.sql.hive.thriftserver.HiveThriftServer2:
You need to build Spark with -Phive and -Phive-thriftserver.

需要启动 JDBC/ODBC server,请执行以下的 Spark 目录内容:

$ ./sbin/start-thriftserver.sh

此处的脚本接收所有 bin/spark-submit 的命令行选项,同时还有 --hiveconf 选项来置顶 Hive 属性。你可以执行以下命令来获取所有可用的选项。

./sbin/start-thriftserver.sh –help

服务器默认的监听端口为 localhost:10000 你可以使用以下任意环境变量来重写它:

$ export HIVE_SERVER2_THRIFT_PORT=<listening-port>
$ export HIVE_SERVER2_THRIFT_BIND_HOST=<listening-host>
$ ./sbin/start-thriftserver.sh   --master <master-uri>   
...

或是系统属性:

$ ./sbin/start-thriftserver.sh  --hiveconf hive.server2.thrift.port=<listening-port>   --hiveconf hive.server2.thrift.bind.host=<listening-host>   --master <master-uri>   
...

现在可使用直线脚本测试 Thrift JDBC/ODBC server:

$ ./bin/beeline

在直线脚本连接 JDBC/ODBC server in beeline :

beeline> !connect jdbc:hive2://localhost:10000

Beeline 直线脚本会询问用户名和密码。在非安全模式下,简单输入 username 和空白密码即可。在安全模式下,请按照 beeline documentation 下的说明来执行。

Hive 的配置将 hive-site.xml 文件移动到 conf 目录下

你也可以使用 Hive 自带的直线脚本。

请登陆后再发表评论
最新评论
更新日志
  • 2016-10-20
    v2.8
回到顶部
公司简介
SequoiaDB巨杉数据库,专注新一代大数据基础架构研发,是国内领先的新一代分布式数据库厂商。公司获评硅谷最具影响力创新商业媒体《红鲱鱼》评选的“全球创新企业100强”,并连续两年入选美国知名科技媒体《快公司》评选的“中国50大创新公司”榜单。目前已拥有客户包括多家世界500强企业以及著名IT互联网公司。
粤ICP备13048785号     SequoiaDB巨杉数据库 版权所有