spark SQL:在大数据查询是,使用SQL让我们方便了许多。。。
1. pom
<dependencies> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.11.7</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>1.5.1</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>1.5.1</version>
<build> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <version>2.15.2</version> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> <configuration> <args> <arg>-feature</arg> </args> </configuration> </plugin> </plugins> </build>
2.sparkSQL.scala
import java.sql.DriverManager import org.apache.spark.rdd.JdbcRDD import org.apache.spark.{ SparkContext, SparkConf } import org.apache.spark.sql.Row import org.apache.spark.sql.types.{ IntegerType, StringType, StructField, StructType } object sparkSQL { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("Simple Application").setMaster("local[*]") val sc = new SparkContext(conf) val sqlContext = new org.apache.spark.sql.SQLContext(sc) val people = sc.textFile("i:/4/people.txt") val dog = sc.textFile("i:/4/dog.txt") // 这个 schema 字符类型是字符串 val schemaPeople = "name age" val schemadog = "name age" // 导入 Row. import org.apache.spark.sql.Row; // 导入 Spark SQL 数据类型 import org.apache.spark.sql.types.{ StructType, StructField, StringType }; // Generate the schema based on the string of schema val schemaPer = StructType( schemaPeople.split(" ").map(fieldName => StructField(fieldName, StringType, true))) val schemaD = StructType( schemadog.split(" ").map(fieldName => StructField(fieldName, StringType, true))) // Convert records of the RDD (people) to Rows. val rowRDD = people.map(_.split(",")).map(p => Row(p(0), p(1).trim)) val rowRDD2 = dog.map(_.split(",")).map(p => Row(p(0), p(1).trim)) // Apply the schema to the RDD. val peopleDataFrame = sqlContext.createDataFrame(rowRDD, schemaPer) val dogDataFrame = sqlContext.createDataFrame(rowRDD2, schemaD) // 注册DataFrames为表。 peopleDataFrame.registerTempTable("people") dogDataFrame.registerTempTable("dog") // SQL语句可以通过使用由sqlContext提供的SQL方法运行。 val results = sqlContext.sql("SELECT p.name,d.name,p.age,d.age FROM people p,dog d where p.age=d.age") // SQL查询的结果是DataFrames支持所有的正常的RDD操作。 results.map(t => "perName: " + t(0)+" dogName: " + t(1) + " perAge:"+ t(2)+ " dogAge:"+ t(3)).collect().foreach(println) } }
people.txt
aaa,11 bbb,22 ccc,33 ddd,44
dog.txt
eee,11 fff,22 ggg,33 ddd,44
perName: aaa dogName: eee perAge:11 dogAge:11 perName: bbb dogName: fff perAge:22 dogAge:22 perName: ccc dogName: ggg perAge:33 dogAge:33 perName: ddd dogName: ddd perAge:44 dogAge:44
相关推荐
java的sparkstreaming连接kafka的例子,kafka生产者生产消息,消费者读取消息,sparkstreaming读取kafka小区并进行存储iotdb数据库。
自己研究学习大数据spark 整合 spring , mybati,maven写的例子,自己测试没有问题了,分享一下,有问题请拍砖。
1、项目中全面覆盖了Spark Core、Spark SQL和Spark Streaming这三个技术框架几乎全部的初级和高级的技术点和知识点, 让学员学以致用,通过一套课程,即掌握如何将Spark所有的技术点和知识点应用在真实的项目中,来...
该项目包括多个用于Spark SQL的成本模型,以及一个用于分析Spark SQL查询/ DataFrame的成本的库。 例子 val spark = SparkSession .builder() .master( " local " ) .appName( " CostAnalyzerExample " ) ....
例子中定义了多个List数据集合,包括用户信息,订单信息,用户订单信息,将List对象生成DataFrame,使用SparkSQL查询将多个DataFrame合成一个DataFrame,使用Scala语言编写。
基于spark大数据平台写的一些简单例子 关于spark平台的Streaming、sql、sparkMllib、spark写的一些简单的demo程序 这边可以直接将项目下载下来导入到eclipse或则Intellij IDE中,每一个程序都能单独执行,里面给出了...
spark-sql-magic 使用提供SQLContext通过Spark运行SQL语句。 这种魔术将使用通过-s参数指定SQLContext。 如果没有提供,魔术将通过SQLContext搜索用户名称空间。 如果魔术找到了一个正确SQLContext,则将使用它。 ...
Spark SQL 2.3.0:深入浅出,我自己看了下,还行,是一些经典的小例子 希望对大家有帮助。⾸先,Spark SQL 对外提供了多种访问⽅式,我们可以通过 Hive Hql、 Spark 编程的⽅式(SQL 或者 DataFram/Dataset API)、...
Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用 【二】特点 【2.1】易整合 Spark SQL可以使用SQL或熟悉的DataFrame API在Spark程序中查询结构...
-_11.11_storm-spark-hadoophadoop_storm_spark结合实验的例子,模拟淘宝双11节,根据订单详细信息,汇总出总销售量,各个省份销售排行,以及后期SQL分析,数据分析,数据挖掘等。--------大概流程-------第一阶段...
在较高的层次上,该库在Spark SQL API的基础上提供了抽象,这使开发基于SQL操作的应用程序变得更加容易。 该项目包含以下子模块: sope-spark :该模块包含有用的Dataframe函数和一个Scala内部dsl库,该库有助于以...
IDEA中使用Spark SQL 连接Hive 折腾了两个小时,好久没有弄了,记录一下 一、复制hive-site.xml 复制hive-site.xml到idea工程中的resource目录下 二、在windows中安装hadoop并配置环境变量 1、解压hadoop 2、修改...
在前面的《Spark大数据处理》系列文章,介绍ApacheSpark框架,介绍如何使用SparkSQL库的SQL接口去访问数据,使用SparkStreaming进行实时流式数据处理和分析。在本篇文章,作者将讨论机器学习概念以及如何使用Spark...
让我们看一个例子。 想象一下,您有一个包含产品包装照片的产品目录。 您可能希望注册一个用户定义的函数extract_text ,该函数调用 OCR 算法并返回图像中的文本,以便您可以从照片中获取可查询的信息。 您可以轻松...
火花的例子一些简单的,基于Apache Spark的介绍性项目将用作指导,以使整个DataFrame数据管理看起来不那么奇怪或复杂。准备和先决条件的Spark或至少一个在此使用的 。 单个节点设置就足够了。 您还可以在本地集群或...
您可以使用它在数据仓库中构建功能部件存储,而无需使用外部库(例如Spark的mllib或Python的scikit-learn)。 该软件包包含一组宏,这些宏反映了。 它们最初是作为2019年《中的一部分开发的。 目前,它们已经在...
Dataset 是分布式数据集, dataset的API是在spark 1.6版本中添加地,它的初衷是为了提升RDD(强类型限制, 可以使用lambda函数)优化SQL执行引擎。Dataset是JVM中的一个对象,可以作用于其它操作(map,faltMap, ...
Spark中的数据倾斜也很常见,这里包括Spark Streaming和Spark Sql,表现主要有下面几种: 大数据常见问题之数据倾斜全文共5页,当前为第2页。 大数据常见问题之数据倾斜全文共5页,当前为第2页。 Executor lost,OOM...
gitbase gitbase是Git存储库SQL数据库接口。 该项目现在是,该版本提供了使用单个命令入门的最简单... 已计划与Apache Spark集成,目前正在积极开发中。 进一步阅读 从这里,您可以直接。 执照 Apache许可证版本2.0