spark
文章平均质量分 65
jast_zsh
这个作者很懒,什么都没留下…
展开
-
Spark使用Log4j将日志发送到Kafka
Spark使用Log4j将日志发送到Kafka原创 2023-03-04 23:30:00 · 567 阅读 · 0 评论 -
SparkStreaming参数介绍
SparkStreaming参数介绍原创 2022-07-07 23:30:00 · 490 阅读 · 0 评论 -
Scala-SparkStreaming 2.2.0 消费 kafka0.10(生产1.0)
Scala-SparkStreaming 2.2.0 消费 kafka0.10(生产1.0)原创 2022-07-07 09:53:13 · 237 阅读 · 0 评论 -
SparkStreaming Kafka 自动保存offset到zookeeper
spark使用的是1.6,SparkStreaming1.6时候使用的kafka jar包为0.8的,消费时候不记录消费到的信息,导致重复消费,故手动保存到zookeeper,SparkStreaming2.1.1时使用的kafka jar包为0.10,没有出现这种状况,以下是1.6版本的消费...原创 2022-07-12 23:00:00 · 209 阅读 · 0 评论 -
Spark RDD分区2G限制
遇到这个问题时,spark日志会报如下的日志片段1:片段2:异常就是某个partition的数据量超过了Integer.MAX_VALUE(2147483647 = 2GB)手动设置RDD的分区数量。当前使用的Spark默认RDD分区是18个,后来手动设置为1000个,上面这个问题就迎刃而解了。可以在RDD加载后,使用RDD.repartition(numPart:Int)函数重新设置分区数量。目前spark社区对这个限制有很多讨(tu)论(cao),spark官方团队已经注意到了这个问题,但是直到1.原创 2022-07-10 21:00:00 · 317 阅读 · 0 评论 -
Spark使用HanLP分词
将HanLP的data(包含词典和模型)放到hdfs上,然后在项目配置文件hanlp.properties中配置root的路径,比如:实现com.hankcs.hanlp.corpus.io.IIOAdapter接口设置IoAdapter,创建分词器然后,就可以在Spark的操作中使用segment进行分词了。原文链接:https://blog.csdn.net/l294265421/article/details/72932042...原创 2022-07-11 23:00:00 · 352 阅读 · 0 评论 -
Spark stage如何划分
指父RDD的每一个分区最多被一个子RDD的分区所用,表现为一个父RDD的分区对应于一个子RDD的分区,和两个父RDD的分区对应于一个子RDD 的分区。图中,map/filter和union属于第一类,对输入进行协同划分(co-partitioned)的join属于第二类。指子RDD的分区依赖于父RDD的所有分区,这是因为shuffle类操作,如图中的groupByKey和未经协同划分的join。一个Job会被拆分为多组Task,每组任务被称为一个Stage就像Map Stage, Reduce Stage。原创 2022-07-10 23:15:00 · 1795 阅读 · 0 评论 -
spark master web ui 端口8080被占用解决方法
Spark master web ui 默认端口为8080,当系统有其它程序也在使用该接口时,启动master时也不会报错,spark自己会改用其它端口,自动端口号加1,但为了可以控制到指定的端口,我们可以自行设置,修改方法:定位到下面部分内容:修改上面的端口为其它可用端口就行...原创 2022-07-08 23:00:00 · 819 阅读 · 0 评论 -
DataFrame函数介绍
collect() ,返回值是一个数组,返回dataframe集合所有的行collectAsList() 返回值是一个java类型的数组,返回dataframe集合所有的行count() 返回一个number类型的,返回dataframe集合的行数describe(cols: String*) 返回一个通过数学计算的类表值(count, mean, stddev, min, and max),这个可以传多个参数,中间用逗号分隔,如果有字段为空,那么不参与运算,只这对数值类型的字段。例如df.describe原创 2022-07-09 21:30:00 · 3249 阅读 · 0 评论 -
Spark foreachRDD的使用
常出现的使用误区:**误区一:**在driver上创建连接对象(比如网络连接或数据库连接)如果在driver上创建连接对象,然后在RDD的算子函数内使用连接对象,那么就意味着需要将连接对象序列化后从driver传递到worker上。而连接对象(比如Connection对象)通常来说是不支持序列化的,此时通常会报序列化的异常(serialization errors)。因此连接对象必须在worker上创建,不要在driver上创建。**误区二:**为每一条记录都创建一个连接对象通常来说,连接对象的创建和销毁原创 2022-07-07 09:07:02 · 335 阅读 · 0 评论 -
Spark算子介绍
返回一个经过简化到numPartitions个分区的新RDD。这会导致一个窄依赖,例如:你将1000个分区转换成100个分区,这个过程不会发生shuffle,相反如果10个分区转换成100个分区将会发生shuffle。然而如果你想大幅度合并分区,例如合并成一个分区,这会导致你的计算在少数几个集群节点上计算(言外之意:并行度不够)。为了避免这种情况,你可以将第二个shuffle参数传递一个true,这样会在重新分区过程中多一步shuffle,这意味着上游的分区可以并行运行。注意:第二个参数shuffle=tr原创 2022-07-07 23:30:00 · 491 阅读 · 0 评论 -
Spark 创建 hive表报错 ROW FORMAT DELIMITED is only compatible with 'textfile', not 'parquet'
场景:在spark分析数据时,创建hive表失败。提示异常 :19/10/09 10:59:18 INFO execution.SparkSqlParser: Parsing command: CREATE EXTERNAL TABLE IF NOT EXISTSdm_xxx.user_area(biFollowersCount String,city String,creat...原创 2019-10-09 13:47:28 · 4088 阅读 · 0 评论 -
spark 2.2 读取 Hadoop3.0 数据异常 org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterfa
spark 2.2 读取 Hadoop3.0 数据异常Exception in thread "main" java.lang.IllegalAccessError: class org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterface org.apache.hadoop.hdfs.web.Token...原创 2019-04-13 11:11:56 · 13686 阅读 · 4 评论 -
Spark 运行内存不足Not enough space to cache rdd in memory,Container killed by YARN for exceeding memory
日志报错(WARN类型最后执行成功可以忽略):19/04/15 12:35:37 INFO memory.MemoryStore: Will not store rdd_2_5119/04/15 12:35:37 WARN memory.MemoryStore: Not enough space to cache rdd_2_51 in memory! (computed 1109.7 ...原创 2019-04-15 15:41:43 · 11222 阅读 · 1 评论 -
Spark NaiveBayes Demo 朴素贝叶斯分类算法
模型sql文件:https://pan.baidu.com/s/1hugrI9e 使用数据链接https://pan.baidu.com/s/1kWz8fNh NaiveBayes Spark Mllib训练package com.xxx.xxx.xxximport java.io.ObjectInputStreamimport java.sql.{Connection, Dr...原创 2019-05-06 18:19:52 · 6094 阅读 · 2 评论 -
Spark-shell 脚本批量执行命令,命令行批量执行命令
spark-shell 执行脚本,批量执行命令#!/bin/bashsource /etc/profileexec spark-shell --name spark-sql-test --executor-cores 8 --executor-memory 8g --num-executors 1 --conf spark.cleaner.ttl=240000 &...原创 2019-07-16 09:54:53 · 1662 阅读 · 0 评论 -
spark异常 - Null value appeared in non-nullable field
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage 0.0 (TID 0, localhost, executor driver): java.lang.NullPointerException: Null valu原创 2019-07-24 11:28:44 · 2510 阅读 · 0 评论 -
Spark 调用 hive使用动态分区插入数据
spark 调用sql插入hive 失败 ,执行语句如下spark.sql("INSERT INTO default.test_table_partition partition(province,city) SELECT xxx,xxx md5(province),md5(city) FROM test_table")报错如下,需动态插入分区Exception in thre...原创 2019-07-24 17:11:39 · 29468 阅读 · 1 评论 -
Spark提交 指定 kerberos 认证信息
spark-submit --principal hdfs/[email protected] --keytab hdfs-hostname.keytab --jars $(echo lib/*.jar | tr ' ' ',') --class com.jast.test.Test test.jar原创 2019-08-10 11:34:17 · 7142 阅读 · 0 评论 -
Spark 报错 : Error: bad symbolic reference. A signature in SparkContext.class refers to term conf
报错如下:Error:scalac: Error: bad symbolic reference. A signature in SparkContext.class refers to term confin package org.apache.hadoop which is not available.It may be completely missing from the c...原创 2019-08-12 09:41:49 · 977 阅读 · 0 评论 -
Sentry : Spark-sql 读取hive数据 权限问题
经测试Spark-sql 只支持Sentry表、库权限,不支持Sentry 对Hive列权限读的控制,设置列权限读,Spark-sql是无权限读取的对hive表某一列有读权限设置代码如下,jast_column用户有对hive表test的s2列读权限,这里使用spark1.6举例val conf = new SparkConf().setAppName("test") va...原创 2019-08-12 10:32:10 · 3058 阅读 · 0 评论 -
Spark 某两个节点数据分析速度慢 - hbase数据删除(分裂) 元信息未删除导致 There is an overlap in the region chain.
基于Hbase2.0,Spark2.2问题描述执行Spark处理Hbase数据时,遇到某两个Excutor处理速度特别慢,如图正常速度10多分钟 左右处理完成, 一个多小时有另外一个处理完成,还有一个在处理中。分析原因1.查看hbase数据分布状况,看看是否存在数据倾斜问题,可以看出平均为6.8G左右,但有部分数据是1.71GB和3.4GB左右,但之前任务跑spark是...原创 2019-04-16 10:33:32 · 13270 阅读 · 0 评论