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也支持直接运行SQL查询的接口,不用写任何代码。
这里实现的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是一个便利的工具,它可以在本地运行Hive元存储服务、执行命令行输入的查询。注意,Spark SQL CLI不能与Thrift JDBC服务器通信。
在Spark目录运行下面的命令可以启动Spark SQL CLI。
./bin/spark-sql
Bolts正如你已经看到的,bolts 是一个 Storm 集群中的关键组件。你将在这一章学到 bolt 生命周期,一些 bolt 设计策略,以及几个...
和SQL一样,Neo4j CQL提供了一些在RETURN子句中使用的聚合函数。 它类似于SQL中的GROUP BY子句。我们可以使用MATCH命令中的RETUR...
Neo4j CQL创建节点标签Label是Neo4j数据库中的节点或关系的名称或标识符。 我们可以将此标签名称称为关系为“关系类型”。 我们...
有时,根据我们的客户端要求,我们需要向现有节点或关系添加新属性。 要做到这一点,Neo4j CQL 提供了一个SET子句。Neo4j CQL 已...
额外开销 每个索引占据一定的存储空间,在进行插入,更新和删除操作时也需要对索引进行操作。所以,如果你很少对集合进行读取操...