自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 资源 (1)
  • 收藏
  • 关注

原创 shell使用命令firefox打开浏览器报错

Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11执行命令eval `dbus-launch --sh-syntax`Error: no display specified在ssh到另一台服务器时加参数 “-X”,可正常打开ssh -X [email protected]...

2022-02-03 11:06:09 2566

原创 IDEA打包

jar包在out文件夹里上传jar包到spark集群,submit提交。

2022-01-04 19:47:51 995

原创 IDEA下修改spark源码报错

Scalastyle examines your Scala code and indicates potential problems with it. Place scalastyle_config.xml in the <root>/.idea or <root>/project directory.scalastyle官网上下载scalastyle_config.xml文件到spark代码根目录下,替换原来的xml文件,重启IDEA即可。...

2021-12-30 18:01:50 1479

转载 SPARK_DIST_CLASSPATH配置

请注意,Spark2.x是用Scala2.11预构建的,但2.4.2版本除外,它是用Scala2.12预构建的。Smark3.0+是用Scala2.12预构建的。spark-env.sh中配置:export SPARK_DIST_CLASSPATH=$(/opt/bigdata/hadoop-2.9.2/bin/hadoop classpath)有了SPARK_DIST_CLASSPATH配置信息以后,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据。如果

2021-12-27 23:56:19 850

转载 CAJ使用

复制caj文字的时候会出现很多换行。选中需要删除换行的一段文字,ctrl+H当我们写报告,需要复制一些caj文献中的参考文献,如果我们直接复制到word中,经常格式会错乱,这时候需要设置一下,具体操作步骤如下: 点击Aa更改大小写按钮 点击半角 这样就可以恢复成正常格式。caj粘贴到word中会出现很多换行_XIONGDA的博客-CSDN博客_caj文档复制到word有分行...

2021-11-18 20:56:41 2820

转载 java.lang.OutOfMemoryError: GC overhead limit exceeded

解决办法:由于我们在执行Spark任务是,读取所需要的原数据,数据量太大,导致在Worker上面分配的任务执行数据时所需要的内存不够,直接导致内存溢出了,所以我们有必要增加Worker上面的内存来满足程序运行需要。在Spark Streaming或者其他spark任务中,会遇到在Spark中常见的问题,典型如Executor Lost相关的问题(shuffle fetch失败,Task失败...

2021-09-10 11:09:45 307

转载 spark dataframe 中 drop 和 .na.drop 详解

问题描述:原始数据data总行数是1303638,使用data.drop()后数据总行数是1303638,使用data.na.drop()后数据总行数是0;为啥data.drop()没有丢弃null或nan的数据?总结:1)data.drop()如果不传递列名,不会做任何操作;2)通过以下比较发现,drop是用来丢弃列的,而na.drop是用来丢弃行的;3)通过以下比较发现,dataframe.drop是直接调用的dataset中drop接口;4)如果想要...

2021-03-08 11:09:49 2982

转载 Latex 算法过长 分页显示方法

1.引用algorithm包;2.在\begin{document}前加上以下Latex代码:\makeatletter\newenvironment{breakablealgorithm} {% \begin{breakablealgorithm} \begin{center} \refstepcounter{algorithm}% New algorithm \hrule height.8pt depth0pt \kern2pt% \@fs@pre for \@

2021-03-05 10:00:10 1807 1

原创 如何更改Spark程序的HDFS复制因子?

将Spark程序的HDFS复制因子从3更改为1 val sparkConf = new SparkConf() sparkConf.set("spark.driver.maxResultSize", "10g")//.set("autoBroadcastJoinThresho1d","8388608000").set("spark.sql.broadcastTimeout","") val spark =SparkSession.builder().config(sparkCo

2020-11-23 18:06:52 216

原创 spark-大表和小表join-未完待续

https://cn.bing.com/search?q=spark+sql+%E5%A4%A7%E8%A1%A8%E5%92%8C%E5%B0%8F%E8%A1%A8join&qs=n&form=QBRE&sp=-1&pq=spark+sql+%E5%A4%A7%E8%A1%A8%E5%92%8C%E5%B0%8F%E8%A1%A8join&sc=0-19&sk=&cvid=2F2FD7C73D614449B45C6942AE30BB11http

2020-10-11 14:37:21 1160

转载 spark之Row

hkl曰:直接搞过来官方的API文档,看不懂英文没关系,看它的实例就可以了。http://spark.apache.org/docs/1.3.1/api/scala/index.html#org.apache.spark.sql.Row注意:import org.apache.spark.sql._ 要先导入这个包 。Represents one row of output from a relational operator. Allows both generic ...

2020-10-11 14:33:57 1333

转载 解决升级Spark2.0之后,DataFrame map操作报错

 当我们在使用spark1.6的时候,当我们创建SQLContext读取一个文件之后,返回DataFrame类型的变量可以直接.map操作,不会报错。但是升级之后会包一个错误,如下:  报错:No implicits found for parameter evidence$6: Encoder[Unit]      主要的错误原因为:   ******error: Unable to find encoder for type stored in a Dataset. Primitive

2020-10-11 14:29:42 341

原创 spark空指针错误可能的原因之一——df.rdd.toDF

这空值动不动就Null point error,是个巨大的坑,昨天调试了一天的程序发现,dataframe转rdd进行类似于filter一些的操作,最后count的时候就会报空指针的错误,但是df不转为rdd而是直接df.filter(func)的话,就可以不报错地完美运行。究其根本...待下回分解。关于spark/Scala的空值处理:https://www.cnblogs.com/wwxbi/p/6011422.htmlhttps://blog.csdn.net/u012798083/art

2020-10-11 14:28:16 1777

转载 java.lang.NullPointerException的可能原因及处理

https://www.cnblogs.com/StrayWolf/p/6035952.htmljava.lang.NullPointerException具体意思是空指针异常,最常见的问题就是没有初始化。 字符串等数据类型没有初始化 类实例(对象)有用具体的类初始化 没有判断是否为空https://www.php.cn/java-article-450636.html“java.lang.NullPointerException”主要是运行时才会发生,该异常属于Runti.

2020-10-11 14:10:28 67694 2

转载 RDD和Dataframe相互转换

参考:https://www.cnblogs.com/starwater/p/6841807.html在spark中,RDD、DataFrame、Dataset是最常用的数据类型,本博文给出笔者在使用的过程中体会到的区别和各自的优势共性:1、RDD、DataFrame、Dataset全都是spark平台下的分布式弹性数据集,为处理超大型数据提供便利2、三者都有惰性机制,在进行创建、转换,如map方法时,不会立即执行,只有在遇到Action如foreach时,三者才会开始遍历运算,极端情.

2020-10-11 14:05:26 954

转载 scala中的time.parse

docs.oracle.com/javase/8/docs/api/java/text/DateFormat.html#parse-java.lang.String-简而言之就是把字符串的“日期”转为真正的日期。真正的日期会自带一些split的操作。https://blog.csdn.net/u012940753/article/details/51218466?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMac

2020-10-11 14:03:49 597

转载 spark sql 之 limit

limit执行的不是action操作。show/head一类的是action操作。Spark limit改进在执行一条SQL,类似sparkSession.sql(“select * from table where id=1 limit 10000000”)这种SQL时,发现速度很慢。后面只有一个partition在处理。limit的原理就是在先根据查询条件组成一个RDD,然后每个partition取limit数量,再统一发给一个partition,然后取出limit数量的Row.这个

2020-10-09 22:00:42 6077 4

转载 关于spark中的groupByKey、reduceByKey、foldByKey

避免使用GroupByKey我们看一下两种计算word counts 的方法,一个使用reduceByKey,另一个使用 groupByKey:val words = Array("one", "two", "two", "three", "three", "three") val wordPairsRDD = sc.parallelize(words).map(word => (word, 1)) val wordCountsWithReduce = wordPairsRDD

2020-10-09 21:56:45 1185

转载 sparkSQL执行计划详解

一:首先将我们从文本中读取的数据映射到表也就是视图eg:  $>cat b.txt  1 ded  2 dsfre  3 sfs  4 fr  $>val sc = spark.sparkContext     #创建SparkContext  $>val rdd = sc.textFile("file:///home/Alex_lei/b.txt").map(x=>x.split(" ")).map(x=>(x(0),x(1)))    ..

2020-10-09 10:01:59 1168

转载 小分区合并问题-Coalesce()方法和repartition方法

小分区合并问题介绍:在使用spark进行数据处理的过程中,常会使用filter方法对数据进行一些预处理,过滤掉一些不符合条件的数据。在使用该方法对数据进行频繁过滤或者是过滤掉的数据量过大的情况下就会造成大量小分区的生成。在spark内部会对每一个分区分配一个task来执行任务,如果task过多,那么每个task处理的数据量就会很小,造成线程频繁在task之间切换,使得资源开销较大,且很多任务等待执行,并行度不高,最终造成集群工作效益低下。为了解决这一个问题,常采用RDD中重分区的函数(coalesc

2020-10-08 19:44:43 658

转载 Spark DF:关于Row中的数值获取问题

//json文件//{"page_id":"87","pay_category_ids":"99","pay_product_ids":"96","city_id":5}//{"pay_category_ids":"74","city_id":0} val df = sparkSession.read.json("./src/data/test")df.show()df.rdd.foreach(row => { println("getAs: "+row.getAs[String].

2020-10-08 19:11:32 3379

转载 join连接

单个字段链接:df.join(df2,"user").show()输出为:+----+---+----+--------------------+---+|user| id|type| visittime|sex|+----+---+----+--------------------+---+| 1| 1| 助手1|2017-08-10 13:44:...| 男|| 1| 2|APP1|2017-08-04 13:44:...| 男|| 1| 1

2020-10-08 18:58:48 264

转载 distinct和dropDuplicates

distinct数据去重使用distinct:返回当前DataFrame中不重复的Row记录。该方法和接下来的dropDuplicates()方法不传入指定字段时的结果相同。dropDuplicates:根据指定字段去重跟distinct方法不同的是,此方法可以根据指定字段去重。例如我们想要去掉相同用户通过相同渠道下单的数据:df.dropDuplicates("user","type").show()输出:+---+----+----+--------------------+|

2020-10-08 17:55:19 1602

转载 groupBy和pivot

groupBy方法有两种调用方式,可以传入String类型的字段名,也可传入Column类型的对象。使用方法如下:df.groupBy("user")df.groupBy(df("user"))groupBy方法之后得到的是GroupedData类型对象,不能直接接show方法来展示DataFrame,还需要跟一些分组统计函数,常用的统计函数有:max(colNames: String)方法,获取分组中指定字段或者所有的数字类型字段的最大值,只能作用于数字型字段min(colNames:

2020-10-07 23:16:55 952

转载 orderBy和sort

orderBy和sort:按指定字段排序,默认为升序 ,例如,按照时间字段进行排序:df.orderBy("visittime").show(false)输出:+---+----+----+---------------------+|id |user|type|visittime |+---+----+----+---------------------+|12 |1 |助手2 |2017-07-07 13:45:08.0||10 |2 |助手1 |201

2020-10-07 23:12:02 1023

转载 limit:获取指定DataFrame的前n行记录并得到一个新的DataFrame对象

limit方法获取指定DataFrame的前n行记录,得到一个新的DataFrame对象。和take与head不同的是,limit方法不是Action操作。

2020-10-07 23:08:40 3188

转载 drop:去除指定字段,保留其他字段

返回一个新的DataFrame对象,其中不包含去除的字段,一次只能去除一个字段。

2020-10-07 23:07:10 670

转载 selectExpr:可以对指定字段进行特殊处理

可以直接对指定字段调用UDF函数,或者指定别名等。传入String类型参数,得到DataFrame对象。 比如,将type字段重新命名为visittype,同时截取visittime的date:df.selectExpr("user","type as visittype","to_date(visittime)").show()输出为:+----+---------+--------------------------------+|user|visittype|to_date(CAST

2020-10-07 23:06:44 1078

转载 Scala 隐式(implicit)详解

阅读目录目录阅读目录文章正文1、Spark 中的隐式思考2、Scala 隐式使用方式2.1隐式值2.2 隐式视图2.3 隐式类3、Scala 隐私注意事项3.1 转换时机3.2 解析机制3.3 转换前提文章参考文章正文通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码。1、Spark 中的隐式思考隐式转换是Sc...

2020-10-07 11:21:02 1082

原创 spark之Dataframe保存模式

以前spark.write时总要先把原来的删了,但其实是可以设置写入模式的。val df = spark.read.parquet(input)df.write.mode("overwrite").parquet(output)dataframe写入的模式一共有4种:overwrite 覆盖已经存在的文件 append 向存在的文件追加 ignore 如果文件已存在,则忽略保存操作 error / default 如果文件存在,则报错def mode(saveMode: Str.

2020-10-06 20:47:26 2136

转载 spark:Failed to create local dir

近日莫名遭遇异常一枚,如下:org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 271.0 failed 1 times, most recent failure: Lost task 0.0 in stage 271.0 (TID 544, localhost): java.io.IOException: Failed to create local dir in /tmp/blo...

2020-10-06 18:31:33 2538

转载 Google Chrome 浏览器快捷键说明大全

1 标签页和窗口快捷键快捷键 说明 Ctrl + n 打开新窗口。 Ctrl + shift + n 在隐身模式下打开新窗口。 Ctrl + t 打开新的标签页。(常用) Ctrl + Shift + t 重新打开最后关闭的标签页。 Ctrl + Tab 或 Ctrl + Pgdn 跳转到下一个打开的标签页,如果当前为最后一个标签页,则跳转到第一个标签页。 Ctrl + Shift + Tab 或 Ctrl + Pgup 跳转到上一个..

2020-10-05 20:50:39 596

原创 git下载过慢:把https换成git-秒提速-亲测有效

2020-05-27 10:17:51 922

转载 Spark监控篇

Spark监控官网地址一、每个Spark程序都有的4040端口Web 界面进行监控Every SparkContext launches a web UI, by default on port 4040, that displays useful information about the application. This includes:A list of scheduler s...

2020-03-30 20:25:09 1102

转载 Pyechart 所有主题样式

pyechart给使用用户提供了一套主题样式,使用户对其的使用更加方便。本篇将总结pyecharts.globals中ThemeType所有主题风格并进行详细的解释。import pyecharts.charts as pyecimport pyecharts.options as optsfrom pyecharts.globals import ThemeTypeimport ra...

2020-03-01 09:37:38 7617

原创 WordCount.java

import java.io.IOException;import java.util.Iterator;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.In...

2020-02-26 20:48:28 623

原创 linux下spark-shell中报错java.io.FileNotFoundException (Too many open files)

caused by:java.io.FileNotFoundException: /tmp/blockmgr-f66a6a16-0bf5-4549-8650-bcfc367eafbb/1d/temp_shuffle_634ae49b-6255-4298-a22a-21f6a96bc818 (Too many open files)该程序需要同时操作许多文件,所以会有报错提示too many o...

2020-02-21 22:51:41 1701

转载 同步异步 阻塞非阻塞

开场白: 异步就是异步 网上有许多I/O模型的相关文章,主要涉及四个概念,同步,异步,阻塞,非阻塞。有些文章将这四个作了两两组合,于是就有了:异步阻塞和异步非阻塞,可以明确的说,这完全是牵强之理解,无论<Unix网络编程>一书中所列的I/O模式,还是POSIX标准,都没有提这两个概念。异步就是异步!只有同步才有阻塞和非阻塞之分。...

2020-01-29 10:50:12 240

转载 Spark 的几种运行模式

1.测试或实验性质的本地运行模式(单机)该模式被称为Local[N]模式,是用单机的多个线程来模拟Spark分布式计算,通常用来验证开发出来的应用程序逻辑上有没有问题。其中N代表可以使用N个线程,每个线程拥有一个core。如果不指定N,则默认是1个线程(该线程有1个core)。 指令示例: 1)spark-shell --master local 效果是一样的 2)spark-s...

2019-12-19 21:23:12 668

转载 Spark读写HBase之使用Spark自带的API以及使用Bulk Load将大量数据导入HBase

1. 需要的jar包依赖<properties> <spark.version>2.3.0</spark.version> <hbase.version>1.2.6</hbase.version> <scala.main.version>2.11</scala....

2019-12-16 11:54:42 389

单链表的基本操作

此源码基于C语言,涉及到单链表的定义初始化以及增删查改,可直接运行。

2018-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除