举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > sparksqljoin Spark SQL其他接口

sparksqljoin Spark SQL其他接口

2023-03-26 15:18 Spark编程指南

sparksqljoin Spark SQL其他接口

sparksqljoin

Spark SQL Join是一种数据库查询技术,它可以将两个或多个表中的数据连接在一起,以便用户可以获得所需的信息。它是一种常用的数据库查询方法,可以将多个表中的数据连接在一起,从而使用户能够获得所需的信息。

Spark SQL Join有三种不同的类型:内部连接、左外部连接和右外部连接。内部连接是最常用的类型,它会将两个表中共有的行进行匹配;左外部连接会将左表中所有的行匹配到右表中相应的行;而右外部连接则会将右表中所有的行匹配到左表中相应的行。

val df1 = Seq(("A", 1), ("B", 2)).toDF("letter", "number") 
val df2 = Seq(("A", 3), ("C", 4)).toDF("letter", "number") 
df1.join(df2, Seq("letter"), "inner").show() 
// +------+------+------+ 
// |letter|number|number| 
// +------+------+------+ 
// |     A|     1|     3| 
// +------+------+------+

Spark SQL其他接口

Spark SQL其它接口

Spark SQL也支持直接运行SQL查询的接口,不用写任何代码。

运行Thrift JDBC/ODBC服务器

这里实现的Thrift JDBC/ODBC服务器与Hive 0.12中的HiveServer2相一致。你可以用在Spark或者Hive 0.12附带的beeline脚本测试JDBC服务器。

在Spark目录中,运行下面的命令启动JDBC/ODBC服务器。

./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>
  ...

现在你可以用beeline测试Thrift JDBC/ODBC服务器。

./bin/beeline

连接到Thrift JDBC/ODBC服务器的方式如下:

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

Beeline将会询问你用户名和密码。在非安全的模式,简单地输入你机器的用户名和空密码就行了。对于安全模式,你可以按照Beeline文档的说明来执行。

运行Spark SQL CLI

Spark SQL CLI是一个便利的工具,它可以在本地运行Hive元存储服务、执行命令行输入的查询。注意,Spark SQL CLI不能与Thrift JDBC服务器通信。

在Spark目录运行下面的命令可以启动Spark SQL CLI。

./bin/spark-sql
阅读全文
以上是编程学为你收集整理的sparksqljoin Spark SQL其他接口全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  Storm Bolts

    Storm Bolts

    2023-04-29 Storm入门教程

    Bolts正如你已经看到的,bolts 是一个 Storm 集群中的关键组件。你将在这一章学到 bolt 生命周期,一些 bolt 设计策略,以及几个...

  •  Neo4j CQL - AGGREGATION聚合

    Neo4j CQL - AGGREGATION聚合

    2023-04-21 neo4j教程

    和SQL一样,Neo4j CQL提供了一些在RETURN子句中使用的聚合函数。 它类似于SQL中的GROUP BY子句。我们可以使用MATCH命令中的RETUR...

  •  Neo4j CQL - CREATE创建标签

    Neo4j CQL - CREATE创建标签

    2023-05-16 neo4j教程

    Neo4j CQL创建节点标签Label是Neo4j数据库中的节点或关系的名称或标识符。 我们可以将此标签名称称为关系为“关系类型”。 我们...

  •  Neo4j CQL - SET子句

    Neo4j CQL - SET子句

    2023-04-02 neo4j教程

    有时,根据我们的客户端要求,我们需要向现有节点或关系添加新属性。 要做到这一点,Neo4j CQL 提供了一个SET子句。Neo4j CQL 已...

  • mongodb 索引失效的情况 MongoDB 索引限制

    mongodb 索引失效的情况 MongoDB 索引限制

    2023-05-26 MongoDB教程

    额外开销 每个索引占据一定的存储空间,在进行插入,更新和删除操作时也需要对索引进行操作。所以,如果你很少对集合进行读取操...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部