Spark
RayBreslin
大数据开发、设计企业应用
展开
-
spark sql读取sql server报错:com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name ‘dbo.st
一、问题描述Sparksql 读取sql server链接报错:Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'dbo.state'. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:258) at com.m原创 2022-05-20 20:16:59 · 1541 阅读 · 0 评论 -
Spark sql报错:Caused by: java.util.regex.PatternSyntaxException: Illegal repetition near index 1
Spark sql报错:Caused by: java.util.regex.PatternSyntaxException: Illegal repetition near index 1一、问题描述Spark执行sql去解析hive中json形式的string,结果如下执行语句spark.sql("SELECT split(regexp_replace(regexp_replace(data,'\\[\\]',''),'\\}\\,\\{','\\}\\;\\{'),';') from tt").s原创 2021-06-17 10:13:06 · 3995 阅读 · 0 评论 -
Spark报错:scala.collection.mutable.WrappedArray$ofRef cannot be cast to scala.collection.immutable.Lis
一、问题描述Spark Dataframe转换到的rdd,取出Array类型字段的数据的时候,采用spark.sql(servicesql).rdd.map(r => { val property = r.getAs[List[String]]("property")})会报错。Caused by: java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be cast to原创 2021-05-24 10:20:23 · 1811 阅读 · 0 评论 -
spark 本地idea运行:java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession
一、问题原因spark程序,编译的打包到jar,并且上传到Linux服务器提交spark任务都是没问题的,但是,本地运行spark程序的时候报错java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701原创 2020-12-30 10:25:34 · 7948 阅读 · 1 评论 -
Spark指定保存到HDFS的具体文件名称
一、实现功能dataframe保存到指定路径,一般都是一个文件夹,具体保存文件是文件夹内部的 part-00000*文件。对于需要指定最终保存文件的场景,本身api无法实现。本文提供保存到指定文件夹内,并且指定最终文件名称的两种方法。二、方法1:直接使用hdfs的api实现修改文件名称1.实现思路首先,DataFrame先减少分区到1个,再转换为RDD,然后写入hdfs,因为DataFrame直接保存的话,会有随机后缀part-00000*,无法确定那个文件。而RDD保存,如果只有一个分区的话,最终原创 2020-11-14 11:56:30 · 3937 阅读 · 1 评论 -
(转)Spark中对Dataframe的union 、unionAll和 unionByName方法说明
【转载原因:Dataframe的union 、unionAll和 unionByName方法区别解释很清楚】【转载原文:https://blog.csdn.net/bowenlaw/article/details/102996825?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduend~default-5-102996825.nonecase&utm_term=spark%E4%B8%ADun转载 2020-11-12 23:15:09 · 3623 阅读 · 3 评论 -
Spark-shell操作hdfs对应api
一、实现功能hdfs相关java或者scala的api验证需要idea搭建环境,比较复杂。如果,有spark环境,那么可以通过spark-shell方法实现hdfs相关api验证。二、实现方法1.先通过spark-shell进入shellspark-shell2.然后导入对应包,后续即可通过对应api实现验证(1)修改名字scala> import org.apache.hadoop.conf.Configurationscala> import org.apache.hado原创 2020-11-11 22:16:00 · 320 阅读 · 1 评论 -
(转)Spark与Hadoop的shuffle的异同
【转载原因:两者shuffle的异同,讲解非常全面,收获良多~】【转载原文:https://blog.csdn.net/WYpersist/article/details/79982627】 Apache Spark 的 Shuffle 过程与 Apache Hadoop 的 Shuffle 过程有着诸多类似,一些概念可直接套用,例如,Shuffle 过程中,提供数据的一端,被称作 M...转载 2020-03-03 07:38:48 · 482 阅读 · 0 评论 -
(转载)Spark常见20个面试题(含大部分答案)
【转载原文:https://blog.csdn.net/zuolixiangfisher/article/details/88973159】版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/zuolixiangfisher/article/details/889731591、什么...转载 2019-12-07 10:58:52 · 401 阅读 · 0 评论 -
(转)Spark(六)Spark之开发调优以及资源调优
【转载原因:大神太厉害了,调优思路受益匪浅!】【转载原文:https://www.cnblogs.com/frankdeng/p/9301780.html】Spark调优主要分为开发调优、资源调优、数据倾斜调优、shuffle调优几个部分。开发调优和资源调优是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜调优,主要讲解了一套完整的用来解决Spark...转载 2019-12-07 09:18:52 · 106 阅读 · 0 评论 -
(转)groupByKey 和reduceByKey 的区别
【转载原文:https://blog.csdn.net/ZMC921/article/details/75098903】版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/ZMC921/article/details/75098903一、首先他们都是要经过shuffle的,g...转载 2019-12-07 08:19:27 · 218 阅读 · 0 评论 -
(转)Spark core中的cache、persist区别,以及缓存级别详解
【转发原因:cache、persist很透彻】【转载原文:https://blog.csdn.net/yu0_zhang0/article/details/80424609】版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/yu0_zhang0/article/details/8...转载 2019-12-06 23:47:36 · 116 阅读 · 0 评论 -
(转)Spark共享变量(广播变量、累加器)
【转载原文:https://blog.csdn.net/Android_xue/article/details/79780463】版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/Android_xue/article/details/79780463Spark两种共享变量...转载 2019-11-29 13:30:28 · 170 阅读 · 0 评论 -
SparkCore(17):RDD的容错机制
一、概念RDD 任务运行过程中,如果出错,spark会有相应的机制去进行错误修复,从而保证任务持续执行,即RDD容错机制。二、具体容错分类1.driver宕机(1)如果job运行在client:程序直接挂了(2)如果job运行在cluster: -》spark on standalone/mesos:通过spark-submit的参数--supervise可以指定当d...原创 2019-11-28 11:14:34 · 1215 阅读 · 0 评论 -
(转)Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
【转载原因:RDD有关partitions的理解很形象】【原文地址:https://blog.csdn.net/u013013024/article/details/72876427】版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u013013024/article/deta...转载 2019-11-27 20:51:28 · 195 阅读 · 0 评论 -
SparkCore(10):uv/pv实例
1.统计样例2013-05-19 13:00:00 http://www.taobao.com/17/?tracker_u=1624169&type=1 B58W48U4WKZCJ5D1T3Z9ZY88RU7QA7B1 http://hao.360.cn/ 1.196.34.243 NULL -12013-05-19 13:00:00 http://www.taobao.com/i...原创 2018-10-25 00:02:26 · 393 阅读 · 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 · 920 阅读 · 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 · 5531 阅读 · 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 · 353 阅读 · 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 · 3573 阅读 · 0 评论 -
SparkCore(16):Spark内存管理机制1.6之前和1.6+
一、Spark1.6之前(固定的值)1.架构图2.具体分配Spark应用中代码使用内存:你编写的程序中使用到的内存=>20%Spark数据缓存的时候用到的内存:60% => spark.storage.memoryFractionSpark shuffle过程中使用到的内存:20% => spark.shuffle.memoryFraction3.官网...原创 2018-10-26 21:43:04 · 401 阅读 · 0 评论 -
SparkCore(9):Spark应用资源构成和启动配置信息三个位置
一、spark应用资源构成和执行过程1.资源构成一个spark应用是由:Driver + Executors组成,其中:(1)Driver: SparkContext上下文的构建、RDD的构建、RDD的调度(2)Executor:具体task执行的位置 备注:一个application 可以包含多个jobs,一个job包含多个stage,一个stage包含多个task2....原创 2018-10-24 07:53:21 · 323 阅读 · 0 评论 -
SparkCore(15):Shuffle原理和优化
一、总括Shuffle是进行重新分区的过程,即上游RDD与下游RDD是宽依赖的关系。以下操作可能会引起Shuffle(1)重新调整分区操作:repartiton,coalesce(2)*ByKey:groupByKey,reduceByKey(3)关联操作:join二、shuffle Manager改进1-》Spark在1.1以前的版本一直是采用Hash Shuffle的实现的...原创 2018-10-26 07:48:51 · 206 阅读 · 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 · 969 阅读 · 0 评论 -
Error :spark-shell模式报错:java.sql.SQLException: A read-only user or a user in a read-only database
1.问题描述:启动spark-shell local的模式bin/spark-shell --master local[2]报错:[hadoop@hadoop spark-2.1.0-bin-hadoop2.6]$ bin/spark-shell --master local[2]Setting default log level to "WARN".To adjust l...原创 2018-11-03 11:19:28 · 1501 阅读 · 0 评论 -
阿里云搭建大数据平台(5):scala和spark安装和配置
一、scala1.下载scala-2.11.8.tgztar -zxvf /opt/softwares/scala-2.11.8.tgz -C ./2.修改/etc/profilesudo vi /etc/profile添加:export SCALA_HOME=/opt/modules/scala-2.11.8export PATH=$SCALA_HOME/bin:...原创 2018-11-02 00:23:01 · 1017 阅读 · 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 · 3291 阅读 · 0 评论 -
(转)Spark的运行架构分析(二)之运行模式详解
【转载原因:spark on yarn的client和cluster非常清晰,收益匪浅!】【转载原文:https://blog.csdn.net/gamer_gyt/article/details/51833681】版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/Gamer_g...转载 2019-09-25 17:59:45 · 161 阅读 · 0 评论 -
Spark ml报错:Error:scalac: missing or invalid dependency detected while loading class file ‘SQLImplici
一、问题描述采用spark2.3.0的 ml库进行推荐算法建模,但是,运行代码到如下推荐个数的时候...model.recommendForAllUsers(7).show(false)...报错如下图:具体报错如下:Information:Module "sparktest" was fully rebuilt due to project configura...原创 2019-05-24 13:53:08 · 2912 阅读 · 0 评论 -
spark ml报错:object ml is not a member of package org.apache.spark
一、问题描述使用sparkml库的linalg类库等,尽管引入spark mllib依赖,但是发现无法导入相应库,运行后报错:Error:(2, 25) object ml is not a member of package org.apache.sparkimport org.apache.spark.ml.classification.LogisticRegressionErr...原创 2019-05-15 00:47:55 · 4778 阅读 · 6 评论 -
启动spark standalone遇到问题:Failed to start database ‘metastore_db‘ with class loader
1.问题描述在同一个服务器上启动两次spark-shell命令,启动standalone模式bin/spark-shell --master shadoop:7077然后出现报错:Caused by: org.apache.derby.iapi.error.StandardException: Failed to start database 'metastore_db' wi...原创 2019-01-16 00:22:39 · 2709 阅读 · 2 评论 -
spark2.1.0编译 cdh5.7.0版本
一、实现目标从spark官网下载2.1.0的源码,然后编译对应hadoop版本的spark,从而可以解决很多兼容性问题,使程序运行环境更加优越,顺畅。二、环境准备1.硬件无论云主机还是虚拟机,内存一定要4G以上,最好8G+。2.软件(1)java:spark 2.0以后的版本都用JAVA1.8+的1)删除之前javarpm -qa | grep jdk结果:j...原创 2018-11-20 22:19:15 · 391 阅读 · 0 评论 -
SparkSQL(8):DataSet和DataFrame区别和转换
1.概念:(1)DataSet和RDD 大数据的框架许多都要把内存中的数据往磁盘里写,所以DataSet取代rdd和dataframe。因为,现阶段底层序列化机制使用的是java的或者Kryo的形式。但是,java序列化出来的数据很大,影响存储Kryo对于小数据量的处理很好,但是数据量一大,又会出现问题,所以官方的解决方法是使用自定义的编码器(Encoder)去序列化(2)DataS...原创 2018-11-02 21:03:28 · 5596 阅读 · 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 · 2228 阅读 · 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 · 7254 阅读 · 0 评论 -
SparkCore(8):Spark Standalone和OnYarn两种模式提交命令实例
一、实现功能二、前提三、standalone模式1.前提2.命令2.1 client模式2.2 cluster:提交端口是REST server四、yarn模式1.前提2.命令2.1 client模式2.2 cluster模式一、实现功能通过将spark的Standalone和OnYarn两种模式集中对比,更容易区分两者区别。二、前提1....原创 2018-10-24 00:19:38 · 494 阅读 · 0 评论 -
SparkStreaming(3):构建StreamingContext
1.参考官网http://spark.apache.org/docs/2.1.0/streaming-programming-guide.html#initializing-streamingcontext 2.构建streamingcontext方法(1)使用SparkConf构建import org.apache.spark._import org.apache.spa...原创 2018-10-08 23:25:12 · 256 阅读 · 0 评论 -
SparkStreaming(2):粗粒度和细粒度总结
一、粗粒度1.工作原理:(1)Spark Streaming接收到实时数据流(data stream)(2)Spark Streaming把数据按照指定的时间段切成一片片小的数据块(小批次)(3)然后Spark Streaming把小的数据块传给Spark Engine处理(4)Spark Engine处理后,输出处理后的数据(processed result) 二、细...原创 2018-10-08 23:01:29 · 1077 阅读 · 0 评论 -
SparkStreaming(1):提交wordcount功能
一、目的:使用wordcount官方自带案例,熟悉spark-submit和spark-shell两种提交spark应用程序方法。二、操作目的1.使用spark-submit提交(1)启动hdfs(2)spark根目录下执行bin/spark-submit --master local[2] \--class org.apache.spark.examples.stre...原创 2018-10-08 22:39:06 · 351 阅读 · 0 评论 -
Idea打包:scala打成jar包
步骤:1.第一步:file -> project Structure -> Artifacts -> + ->jar -> from modules DeXXX -> OK(什么都不用选,直接OK) ->把相关依赖包全删了,留最后一个out -》修改下Output directory的路径为E:\MySalcaWorkSpace\spark(这...原创 2018-09-20 23:16:28 · 7867 阅读 · 1 评论