前提 ,给 自己 的mysql 本地添加 远程访问权限
mysql> grant all privileges on *.* to root@"%" identified by 'root' with grant option; mysql> flush privileges; 测试远程连接是否通? mysql -h10.2.6.60 -uroot -proot
sql demo
package com.baoy.sql import java.sql.DriverManager import org.apache.spark.rdd.JdbcRDD import org.apache.spark.{SparkConf, SparkContext} /** * Created by John on 2016/4/1. * com.baoy.sql.Sql */ object Sql { def main(args: Array[String]) { val sparkConf = new SparkConf() .setAppName("streamsql") val sparkContext = new SparkContext(sparkConf) val rdd =new JdbcRDD(sparkContext, () =>{ Class.forName("com.mysql.jdbc.Driver").newInstance() DriverManager.getConnection("jdbc:mysql://10.2.6.60:3306/database", "root", "root") }, "select count(*) from t_user where ?=?", 1, 1, 1, r => r.getString(1)).cache() println(rdd.count()) sparkContext.stop() } }
pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.baoy</groupId> <artifactId>SparkDemo</artifactId> <version>1.0-SNAPSHOT</version> <inceptionYear>2008</inceptionYear> <properties> <scala.version>2.11.8</scala.version> </properties> <repositories> <repository> <id>scala-tools.org</id> <name>Scala-Tools Maven2 Repository</name> <url>http://scala-tools.org/repo-releases</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>scala-tools.org</id> <name>Scala-Tools Maven2 Repository</name> <url>http://scala-tools.org/repo-releases</url> </pluginRepository> </pluginRepositories> <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.4.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.10</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.10</artifactId> <version>1.4.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.10</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.18</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.4</version> <scope>test</scope> </dependency> </dependencies> <build> <sourceDirectory>src/main/scala</sourceDirectory> <testSourceDirectory>src/test/scala</testSourceDirectory> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> <configuration> <scalaVersion>${scala.version}</scalaVersion> <args> <arg>-target:jvm-1.5</arg> </args> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <configuration> <downloadSources>true</downloadSources> <buildcommands> <buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand> </buildcommands> <additionalProjectnatures> <projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature> </additionalProjectnatures> <classpathContainers> <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer> <classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer> </classpathContainers> </configuration> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <configuration> <scalaVersion>${scala.version}</scalaVersion> </configuration> </plugin> </plugins> </reporting> </project>
提交:
spark-submit --class com.baoy.sql.Sql --master local /home/cloudera/baoyou/project/scalasql.jar
运行 结果:
idea 打包
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
**Spark Local + Maven + IDEA项目概述** Spark是一个流行的开源大数据处理框架,以其高效、易用和模块化的特性受到广泛欢迎。Spark Local模式是Spark的一种运行模式,它允许开发者在单机环境中快速进行开发和测试...
<artifactId>spark-sql_2.10 <version>1.6.0 <groupId>org.apache.spark <artifactId>spark-streaming_2.10 <version>1.6.0 <groupId>org.apache.hadoop <artifactId>hadoop-client ${hadoop....
**Spark工程构建与IntelliJ IDEA集成** Spark是一款强大的分布式计算框架,广泛应用于大数据处理、机器学习和实时分析等场景。使用sbt(Simple Build Tool)作为构建工具,可以有效地管理Scala项目的依赖和构建过程...
`spark-branch-2.3.zip`是一个包含了Spark 2.3源码的压缩包,用户在下载后,可以直接在IDEA中解压并打开,然后等待Maven自动下载依赖,以便于进一步理解和学习Spark的内部工作原理。 Spark的核心设计原则是基于DAG...
Spark 2.1.1 源码包是大数据处理框架Spark的核心代码库,它包含了Spark的所有组件和模块,如Spark Core、Spark SQL、Spark Streaming、Spark MLlib以及Spark GraphX等。对于开发者和研究者而言,深入理解Spark源码有...
Spark 1.6.1作为一个Maven工程,可以方便地在IDE如IntelliJ IDEA或Eclipse中导入和管理依赖。导入步骤如下: 1. 使用IDE的Maven导入功能导入项目。 2. 配置项目的JDK版本为Java 8。 3. 确保IDE已连接到互联网,以便...
在本文中,我们将详细探讨如何使用IntelliJ IDEA(Idea)创建一个新的Java项目,并集成Spark框架进行打包。首先,我们需要了解的是Idea是JetBrains公司开发的一款强大的Java集成开发环境,它支持多种编程语言,包括...
《Spark基础入门与案例解析——基于Scala的Spark Hello...通过IDEA和Maven的集成,我们可以便捷地开发、构建和运行Spark应用。这个简单的"Spark Hello World"案例只是一个起点,希望它能帮助你踏上Spark的学习之旅。
除了WordCount程序,实验还涵盖了使用IDEA开发读写MySQL数据库的Scala程序,这涉及到如何与关系型数据库交互,使用Scala操作SQL查询,以及相关的数据库连接库的配置。 通过这个实验,学生不仅能掌握Scala编程基础和...
**SparkTest:IntelliJ IDEA中的Spark Scala项目样本** SparkTest是一个示例项目,它展示了如何在IntelliJ IDEA这个强大的Java和Scala开发环境中集成Apache Spark和Scala进行数据分析和处理。这个项目对于初学者和...
- **Spark组件**:包括Spark Core、Spark SQL、Spark Streaming、MLlib(机器学习库)和GraphX(图计算)等,其中Spark Core是基础,其他组件在其之上构建。 - **DataFrame/Dataset API**:Spark SQL引入DataFrame...
5. 使用Spark的开发环境配置,如创建Spark项目、配置Spark集群、使用IDEA或IntelliJ进行开发等。 6. Spark源码阅读,理解其内部实现机制,如任务调度、容错机制等。 7. Spark与其他工具的集成,如Hadoop、Hive、...
SparkSQL是Apache Spark项目的一部分,专门用于处理结构化和半结构化数据的SQL查询。它提供了与传统SQL接口相似的功能,使得数据分析师和开发者能够利用SQL语法操作分布式数据集,而无需学习Spark低级API。在本...
在安装和配置方面,介绍了JDK、Scala的安装配置,以及如何使用sbt、maven创建项目,并指导如何在Eclipse和IntelliJ IDEA中开发Spark应用。这些工具和方法能够帮助开发者搭建起一个稳定高效的Spark开发环境。 Spark ...
- Spark提供了多种组件,如Spark SQL(处理结构化数据)、Spark Streaming(实时流处理)、MLlib(机器学习算法库)和GraphX(图计算)。 2. Spark源码阅读及调试环境搭建: - 环境搭建需要配置JDK、Scala和Maven...
Spark生态系统还包含其他几个重要组件,比如用于实时计算的Spark Streaming、用于机器学习的MLlib、用于图计算的GraphX和用于SQL查询的Spark SQL。这些组件在核心API的基础上提供了额外的功能。 在编程模型方面,...
2. **读取Hive表**:使用Spark SQL的`spark.read.format("hive").load()`语句加载Hive表,这将返回一个DataFrame。 3. **处理和转换数据**:根据需求,可能需要对DataFrame进行一系列操作,如数据清洗、转换、聚合...
- **程序开发**:利用IDEA等工具结合API开发Spark应用程序,这种方式更适合生产环境下的复杂任务。 **运行模式**: - **本地运行**:可以在Linux、Windows或IDE环境下运行Spark程序,适合调试和小规模测试。 - **...