spark怎样并发的从mysql查询数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark怎样并发的从mysql查询数据相关的知识,希望对你有一定的参考价值。

在已有的 mysql 服务器之上使用 Apache Spark (无需将数据导出到 Spark 或者 Hadoop 平台上),这样至少可以提升 10 倍的查询性能。使用多个 MySQL 服务器(复制或者 Percona XtraDB Cluster)可以让我们在某些查询上得到额外的性能提升。你也可以使用 Spark 的缓存功能来缓存整个 MySQL 查询结果表。

思路很简单:Spark 可以通过 JDBC 读取 MySQL 上的数据,也可以执行 SQL 查询,因此我们可以直接连接到 MySQL 并执行查询。那么为什么速度会快呢?对一些需要运行很长时间的查询(如报表或者BI),由于 Spark 是一个大规模并行系统,因此查询会非常的快。MySQL 只能为每一个查询分配一个 CPU 核来处理,而 Spark 可以使用所有集群节点的所有核。在下面的例子中,我们会在 Spark 中执行 MySQL 查询,这个查询速度比直接在 MySQL 上执行速度要快 5 到 10 倍。

另外,Spark 可以增加“集群”级别的并行机制,在使用 MySQL 复制或者 Percona XtraDB Cluster 的情况下,Spark 可以把查询变成一组更小的查询(有点像使用了分区表时可以在每个分区都执行一个查询),然后在多个 Percona XtraDB Cluster 节点的多个从服务器上并行的执行这些小查询。最后它会使用map/reduce 方式将每个节点返回的结果聚合在一起形成完整的结果。
参考技术A 支持mysql的,下面是示例
spark streaming使用数据源方式插入mysql数据
import java.sql.Connection, ResultSet
import com.jolbox.bonecp.BoneCP, BoneCPConfig
import org.slf4j.LoggerFactory本回答被提问者采纳

mysql怎样查询一个表中所有数据

输出所有的字段及不使用谓词如distinct,limit等、不分组汇总、不附加任何筛选条件和实施任何连接即可检索出该表的所有数据。

例如下列语句:
select * from t1(* 号表示输出所有的字段)

Mysql如何查询表中的数据:

    选择需要进行查询的数据库的链接地址。

    在数据库链接地址中,找到需要查询的数据库,双击将其数据库打开,可以看到数据库的颜色会由灰色变成彩色。

    点击上方的‘查询’功能,然后点击箭头所指的‘创建查询’功能。

参考技术A 输出所有的字段及不使用谓词如distinct,limit等、不分组汇总、不附加任何筛选条件和实施任何连接即可检索出该表的所有数据。例如下列语句:

select * from t1;

* 号表示输出所有的字段本回答被提问者采纳

以上是关于spark怎样并发的从mysql查询数据的主要内容,如果未能解决你的问题,请参考以下文章

mysql 第三十二篇文章~并发导致的从库延迟问题

MySql概述及入门

MySQL数据——主从复制和读写分离

如何提高mysql查询速度

假如mysql数据库单表有100W行记录,有哪些方式加快查询速度

spark sqlsparksql支持查询哪些数据源,查询hive与查询mysql的区别