
SparkSQL
RayBreslin
大数据开发、设计企业应用
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SparkSQL(13): 窗口函数和group by执行顺序
一、实现功能当sql中既有groupby又有窗口函数,那么两者的执行顺序是什么样?这个特此研究一下,方便后续有使用的时候会方便。二、实际例子3.1案例数据/opt/datas/score.json,学生名字、课程、分数{"name":"A","lesson":"Math","score":100}{"name":"B","lesson":"Math","score":100}{"name":"C","lesson":"Math","score":99}{"name":"D","lesson"原创 2020-11-15 14:40:35 · 5540 阅读 · 2 评论 -
SparkSQL(8):DataSet和DataFrame区别和转换
1.概念:(1)DataSet和RDD 大数据的框架许多都要把内存中的数据往磁盘里写,所以DataSet取代rdd和dataframe。因为,现阶段底层序列化机制使用的是java的或者Kryo的形式。但是,java序列化出来的数据很大,影响存储Kryo对于小数据量的处理很好,但是数据量一大,又会出现问题,所以官方的解决方法是使用自定义的编码器(Encoder)去序列化(2)DataS...原创 2018-11-02 21:03:28 · 5773 阅读 · 0 评论 -
SparkSQL(7):Hive和mysql数据源读取数据,然后join并且输出HDFS实例
一、实现功能配置Spark到hive和mysql的链接,然后读取数据,最终结果输出存储到hive中。二、环境条件1.hdfs2.metastore3.mysql三、实现功能1.从hive中读取数据 // 1. 创建上下文 val conf = new SparkConf() .setMaster("local[*]") .setAppName...原创 2018-11-02 08:24:43 · 2326 阅读 · 0 评论 -
SparkSQL(11)DataFrame基本API的操作-2-(DSL)
1.DataFrame基本操作API(1)casewhen PersonDF.select(PersonDF.col("empName"),PersonDF.col("salary"), when(PersonDF.col("salary") <= 2000,"底薪") .when(PersonDF.col("salary") > 2000 &原创 2018-11-03 08:21:54 · 1046 阅读 · 0 评论 -
SparkSQL(2):Spark应用依赖第三方jar文件解决方案
一、实现功能spark运行依赖jar包添加方式。二、方法1. 本地jar包:(1)方法:使用参数--jars添加本地的第三方jar文件,可以给定多个,使用逗号分隔bin/spark-shell --jars /opt/modules/hive-1.2.1/lib/mysql-connector-java-5.1.27-bin.jar,/opt/modules/hive-1.2...原创 2018-10-30 22:45:06 · 6326 阅读 · 0 评论 -
SparkSQL(1):SparkSQL和Hive集成
一、SparkSQL功能SparkSQL需要的是hive表的元数据,如果配置了metastore的服务,直接去服务里面拿,如果没有,那就只能去mysql中间拿二、配置和hive集成1. 将hive的hive-site.xml文件复制或者软连接到spark的conf文件夹中cd /opt/modules/spark-2.1.0-bin-2.7.3/conf/ln -s /opt...原创 2018-10-30 21:14:35 · 1015 阅读 · 0 评论 -
SparkSQL(5):UDF和UDAF
1.二者区别UDF:用户自定义函数,一输入一输出UDAF:用户自定义聚合函数,多输入一输出2.实现代码(1)UDAF代码:package _0728sqlimport org.apache.spark.sql.Rowimport org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefined...原创 2018-10-31 21:20:43 · 475 阅读 · 0 评论 -
SparkSQL(4):Dataframe和RDD相互转换
1.功能:实现Dataframe和RDD相互转换2.Dataframe转换RDDval jsonRdd=jsonDataFrame.rdd3.RDD转换Dataframe(1)通过类的反射机制port sqlContext.implicits._val df=rdd.toDF()(2)明确给定字段名称和schema信息val schema=StructTy...原创 2018-10-31 20:47:07 · 3692 阅读 · 0 评论 -
SparkSQL(3):开启ThriftServer服务
一、实现功能SparkSQL的ThriftServer服务其实就是Hive的hiveServer2服务,只是将底层的执行改成spark,同时在spark上启动。二、配置1.修改hive-site.xml的hiveserver2的配置信息<property> <name>hive.server2.thrift.bind.host</name>...原创 2018-10-31 06:47:22 · 7722 阅读 · 0 评论 -
SparkStreaming(9):实例-Streaming整合Spark SQL,进行wordcount功能
1.功能实现 综合Spark Streaming和Spark SQL,进行word count的统计。核心理解DStream和RDD相互操作,需要通过使用foreachRDD这个API。2.代码package Sparkimport org.apache.spark.SparkConfimport org.apache.spark.rdd.RDDimport org....原创 2018-10-10 23:10:21 · 1156 阅读 · 0 评论 -
SparkSQL(6):外部数据源
一、总括1.参考官网:http://spark.apache.org/docs/2.1.0/sql-programming-guide.html#data-sources2.SparkSQL支持多种数据源,这个部分主要讲了使用Spark加载和保存数据源。然后,讲解内置数据源的特定选项。3.数据源分类:(1)parquet数据(2)hive表(3)jdbc连接其他数据库(...原创 2018-10-02 10:59:58 · 537 阅读 · 3 评论 -
在sparkSQL中无法找到Hive表apache.spark.sql.catalyst.analysis.NoSuchTableException:Table or view ‘emp‘ not f
1.问题描述使用Scala编程,通过SparkSession连接hive中的表,但是没有找到,报错:Exception in thread "main" org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException:Table or view 'emp' not found in database 'default';...原创 2018-10-02 10:30:06 · 5793 阅读 · 5 评论 -
SparkSQL(9)RDD2DataFrame
一、两种方式【参考官网:http://spark.apache.org/docs/2.1.0/sql-programming-guide.html#programmatically-specifying-the-schema】Inferring the Schema Using Reflection(反射方式) Programmatically Specifying the Schema...原创 2018-10-01 19:57:28 · 241 阅读 · 0 评论 -
RDD转换为DataFrame的时候报错:java.lang.NumberFormatException: For input string: ““
1.问题描述RDD转换为DataFrame,运行命令: val spark=SparkSession.builder().appName("RDD2DataFrameSpark").master("local[2]").getOrCreate() //RDD==>DataFrame val rdd= spark.sparkContext.textFile("...原创 2018-10-01 18:59:39 · 3417 阅读 · 0 评论 -
SparkSQL(10)DataFrame基本API的操作-1-(DSL)
一、DataFrame和RDD对比1.相同点:二者都是分布式存储数据集,适用于大数据处理。2.不同点:(1)RDD不知道内部结构(2)DataFrame有详细的内部结构,类似数据表二、DataFrame基本数据源和API操作1.DataFrame数据来源参考官网:http://spark.apache.org/docs/2.1.0/sql-programming...原创 2018-10-01 16:42:40 · 898 阅读 · 0 评论 -
SparkSQL(12):SQLContext/HiveContext/SparkSession使用和区别
一、SQLContext1.适用spark版本:spark1.x2.添加依赖 <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2....原创 2018-10-01 14:55:27 · 5744 阅读 · 0 评论