`
sillycat
  • 浏览: 2539483 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spark JDBC(1)MySQL Database RDD

 
阅读更多
Spark JDBC(1)MySQL Database RDD

Try to understand how the JDBCRDD work on Spark.
First of all, the master did not connect to the database.

First step,
The client driver class will connect to the MySQL and get the minId and maxId.
150612 17:21:55   58 Connect cluster@192.168.56.1 on lmm
select coalesce(min(d.id), 0) from device d where d.last_updated >= '2014-06-12 00:00:00.0000' and d.last_updated < '2014-06-13 00:00:00.0000'
select coalesce(max(d.id), 0) from device d

Second step, All the workers will try to fetch the data based on partitions
150612 17:22:13   59 Connect cluster@ubuntu-dev2 on lmm
select id, tenant_id, date_created, last_updated, device_id, os_type, os_version,
          search_radius, sdk_major_version, last_time_zone, sendable
         from
          device d
         where
          375001 <= d.id and
          d.id <= 750001

select id, tenant_id, date_created, last_updated, device_id, os_type, os_version,
          search_radius, sdk_major_version, last_time_zone, sendable
         from
          device d
         where
          750002 <= d.id and
          d.id <= 1125002


62 Connect cluster@ubuntu-dev1 on lmm
62 Query select id, tenant_id, date_created, last_updated, device_id, os_type, os_version,
          search_radius, sdk_major_version, last_time_zone, sendable
         from
          device d
         where
          0 <= d.id and
          d.id <= 375000
63 Query select id, tenant_id, date_created, last_updated, device_id, os_type, os_version,
          search_radius, sdk_major_version, last_time_zone, sendable
         from
          device d
         where
          1500004 <= d.id and
          d.id <= 1875004

The sample JDBCRDD is in code
https://github.com/luohuazju/sillycat-spark/tree/streaming

References:
http://spark.apache.org/docs/1.4.0/tuning.html
http://stackoverflow.com/questions/27619230/how-to-split-the-input-file-in-apache-spark




分享到:
评论

相关推荐

    spark jdbc 读取并发优化

    然而,在使用Spark与数据库交互时,尤其是使用JDBC(Java Database Connectivity)读取数据时,如果不优化并发度,很容易造成性能瓶颈。特别是在面对大规模数据集时,单线程任务过重会导致任务执行缓慢甚至挂起,...

    Spark思维导图之Spark RDD.png

    Spark思维导图之Spark RDD.png

    spark rdd api dataframe 以及dataframe rdd dataset 相互转换 spark sql

    在大数据处理框架Apache Spark中,RDD(弹性分布式数据集)是基础的数据处理抽象,它提供了容错、分布式数据操作的能力。而DataFrame和Dataset是Spark SQL中更高级的数据抽象,提供了更多的优化和易于使用的特点。...

    sparkRDD函数大全

    spark rdd函数大全。spark rdd操作为core操作,虽然后续版本主要以dataset来操作,但是rdd操作也是不可忽略的一部分。

    Spark学习--RDD编码

    RDD:弹性分布式数据集(ResilientDistributed Dataset),是Spark对数据的核心抽象。RDD其实是分布式的元素集合。当Spark对数据操作和转换时,会自动将RDD中的数据分发到集群,并将操作并行化执行。 Spark中的RDD是一...

    【SparkCore篇01】RDD编程入门1

    Spark中的RDD(Resilient Distributed Dataset)是核心的数据抽象,它是弹性分布式数据集,具备弹性、分区、只读和依赖这四个主要特性。弹性体现在RDD能够自动在内存和磁盘之间切换存储,同时具备容错机制,数据丢失...

    【SparkCore篇05】RDD缓存和checkpoint1

    Spark是大数据处理领域的一款高效、灵活且易用的开源框架,其核心组件是弹性分布式数据集(RDD),RDD是Spark中最基本的数据抽象。本篇文章主要探讨Spark中的RDD缓存和checkpoint机制。 首先,RDD缓存是Spark提升...

    【SparkCore篇06】RDD数据分区1

    当创建一个pairRDD,如 `(1,1)`, `(2,2)`, `(3,3)`,并使用HashPartitioner进行分区时,Spark会计算每个Key的hashCode,然后除以分区的总数取余。余数决定了Key属于哪个分区。例如,如果分区数为2,`(1,1)`的...

    spark rdd转dataframe 写入mysql的实例讲解

    通过将RDD转换为DataFrame,我们可以利用其丰富的功能进行复杂的数据处理,并通过各种数据源接口(如JDBC)将结果写入外部系统,如MySQL。在实际应用中,这尤其适用于需要将批处理结果集成到现有数据库系统的场景。

    【SparkCore篇02】RDD转换算子1

    SparkCore篇02主要介绍了RDD的一些基础转换算子,这些算子是Spark处理数据的核心工具。以下是关于这些算子的详细说明: 1. **map()**:map算子用于对RDD(Resilient Distributed Dataset)中的每个元素进行操作。它...

    【SparkCore篇07】RDD数据读取和保存1

    在Spark中,RDD(Resilient Distributed Datasets)是其核心的数据抽象,它是一种容错的、不可变的数据集合,可以在集群中分布式计算。本文将详细讨论RDD数据的读取和保存,特别是涉及JSON和SequenceFile这两种文件...

    【SparkCore篇03】RDD行动算子1

    在Spark中,RDD(Resilient Distributed Datasets)是基本的数据抽象,它是不可变、分区的记录集合,可以在集群的不同节点上并行操作。本篇主要讲解RDD的行动算子,包括`reduce`、`collect`、`count`、`first`、`...

    【SparkCore篇04】RDD函数传递和依赖关系1

    Spark是大数据处理领域的一款高效、通用的计算框架,它提供了基于弹性分布式数据集(Resilient Distributed Dataset,简称RDD)的编程模型。RDD是Spark的核心概念,它是一种不可变、分区的数据集合,可以在集群中...

    spark-textFile构建RDD的分区及compute计算策略

    Spark-textFile 构建 RDD 的分区及 Compute 计算策略 Spark-textFile 是 Spark 中的一种常用方法,用于从文本文件中构建 RDD。它的主要作用是将文本文件的内容读取出来,并将其转换为 RDD,以便进行后续的数据处理...

    大数据实验报告Windows环境下安装Spark及RDD编程和Spark编程实现wordcount.doc

    大数据实验报告 Windows 环境下安装 Spark 及 RDD 编程和 Spark 编程实现 wordcount 本实验报告主要介绍了在 Windows 环境下安装 Spark 及 RDD 编程和 Spark 编程实现 wordcount 的步骤和过程。实验中首先安装了 ...

    RDD编程初级实践Tom,DataBase,80 Tom,Algorithm,50 Tom,DataStructure,60 Jim,DataBas

    在Spark与数据库的交互中,我们可以使用`spark.read.jdbc()`方法来加载数据库中的数据到RDD,例如连接到MySQL或Hive等。这涉及到JDBC接口、DataFrame API以及SQL查询语言的应用,将数据库表转换为Spark DataFrame,...

    spark RDD 论文 中文版

    ### Spark RDD论文中文版知识点详述 #### 一、引言 Spark RDD(Resilient Distributed Datasets)作为Apache Spark的核心组件之一,在大数据处理领域扮演着至关重要的角色。本论文旨在探讨Spark RDD的设计理念及其在...

    大数据spark学习之rdd概述

    RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。在 Spark 中,对数据的所有操作不外乎创建 RDD、转化已有RDD 以及...

    spark实验5 rdd编程2.doc

    ### Spark 实验报告:RDD 编程应用 #### 实验目的与背景 本实验旨在通过具体的数据处理任务,深入理解Apache Spark中Resilient Distributed Datasets (RDD) 的使用方法及其在解决实际问题中的作用。实验选取了一所...

Global site tag (gtag.js) - Google Analytics