
Spark
枪枪枪
见贤思齐焉,见不贤而内自省也。
君子生非异也,善假于物也。
君子博学而日参省乎己,则知明而行无过矣。
展开
-
[2023年2月24日] 关于MapReduce的过程拆解
mapreduce流程拆解原创 2023-02-24 20:07:47 · 152 阅读 · 0 评论 -
[2023年2月24日]关于 Spark Shuffle
Spark Shuffle过程记录原创 2023-02-24 17:38:02 · 154 阅读 · 0 评论 -
Spark 3.3.1 、Spark excel 3.3.1_0.18.5 读取excel异常:org.apache.poi.util.RecordFormatException:
解决方法:IOUtils.setByteArrayMaxOverride(200000000)原创 2022-11-11 17:24:14 · 4373 阅读 · 0 评论 -
spark dataframe 将每一列中的空字符(或其它值)替换成null
var offlineData: DataFrame = ......val offlineDataFieldName: Array[String] = offlineData.schema.names (0 until offlineDataFieldName.length).foreach(idx => { offlineData = offlineData.withColumn( offlineDataFieldName.apply(idx)原创 2022-04-27 10:50:06 · 3142 阅读 · 0 评论 -
spark解析复杂json,json内结构为主表嵌套多个从表,每个从表中又嵌套表,嵌套层级有的在5次以上。Array嵌套Array、每条json的字段数量不一定。。。。
这个json字符串很长,结构也很复杂,手工构造struct的话不太现实开始一开始按如下的方式对数据进行解析zip文件–》RDD–〉spark.read.json(dataRDD)–〉DataFrame通过spark.sql(…,key1.key2.key3,…)可以取到[key1.key2.key3]下的值但是这个方法有个缺点,对于Array类型的节点,只能取一次,无法循环获取Array内的所有元素于是准备借助其它json包对RDD内的jsonString进行解析,然后对Array类型.原创 2022-02-16 15:52:25 · 1112 阅读 · 0 评论 -
[scala、spark]将MYSQL中某个表内某个条件下的数据合并到一个JSON对象中进行输出
原表中的数据分为7个类别,类别字段名称为:vehicle_type;每个类别下有若干的元素,每个类别下元素个数相同,这些元素存于一列中,列名为name_en,列内的值为元素的名称;每个元素有相同的名称的属性若干,每个属性名称作为一列;现在想要将一个类别下的元素、属性收集到一个JSON中结构如下:{ "元素名称1":{ "属性名称":"属性值" }, "元素名称1":{ "属性名称":"属性值" }, "元素名称1":{ "属性名称":"属性值" }, .... }.原创 2022-01-07 18:29:38 · 1323 阅读 · 0 评论 -
Spark 在一个sparksession中并行的执行多个Job
对程序中设计的DataFrame、DataSet,将其分区数修改到一个合适的值,我这里用的是:当前环境下可用的CPU核数/并行数量。使用Callable或Runable类,重写类中的call方法或run方法,将要执行的job放入call或run方法中提交。在这个情景下,采取并行的方式同时处理n(假设n=5)个文件,能够更有效的利用服务器的资源。有两个独立的job A和B可以并行执行,按spark默认的方式A和B是顺序执行的。现有一个文件名构成的列表,要对列表内的文件进行一系列的处理后将数据写入数据库。原创 2021-12-29 16:39:09 · 4546 阅读 · 3 评论 -
spark udf 出现java.lang.UnsupportedOperationException: Schema for type AnyVal is not supported
Exception in thread "main" java.lang.UnsupportedOperationException: Schema for type AnyVal is not supported at org.apache.spark.sql.catalyst.ScalaReflection$$anonfun$schemaFor$1.apply(ScalaReflection.scala:790) at org.apache.spark.sql.catalyst.ScalaRefle原创 2021-12-24 10:56:31 · 2126 阅读 · 0 评论 -
Spark SQL RDD或DataFrame 行转列、列转行
【代码】Spark SQL RDD或DataFrame 行转列、列转行。原创 2021-12-24 10:53:11 · 2304 阅读 · 0 评论 -
[Scala] Spark将RDD中某一列下的数组拆分成多列
val data: RDD[String]val data2 = data.map(x => { val y = x.split("\\|\\|", -1) y })val data3 = data2.toDF()data3.show(10)+--------------------+| value|+--------------------+|[66,................]||[81,...........原创 2021-12-21 17:09:53 · 2540 阅读 · 0 评论 -
Scala Spark输出文件重命名
有时测试需要单独生成1个文件后拿出来看看内容,spark自动生成的块文件名不好说明文件用途源文件修改后package myspark.coreimport java.io.Fileimport scala.reflect.io.Directoryobject getFile{ def main(args: Array[String]): Unit = { val testPath="C:\\output\\testJSON" renameFiles(testPath,原创 2021-12-03 18:31:42 · 791 阅读 · 0 评论 -
spark 解析ZIP文件中的JSON数据
方法一:参考资料:https://blog.youkuaiyun.com/GCR8949/article/details/80155064import org.apache.spark.SparkConfimport org.apache.spark.input.PortableDataStreamimport org.apache.spark.sql.SparkSessionimport java.io.{BufferedReader, InputStreamReader}import java.util原创 2021-12-02 11:43:18 · 943 阅读 · 0 评论 -
2021-10-12. 挺有意思的引用
据我们所知,有“已知的已知”;有些事,我们知道我们知道。我们也知道,有“已知的未知”,也就是说,有些事,我们现在知道我们不知道。但是,同样存在“不知的不知”;有些事,我们不知道我们不知道。——DonaldRumsfeld桑迪·里扎,于里·莱瑟森,肖恩·欧文,乔希·威尔斯. Spark高级数据分析(第2版) (Chinese Edition) (Kindle位置2468). Kindle 版本.Reports that say that something hasn’t happened are al原创 2021-10-12 18:13:52 · 104 阅读 · 0 评论 -
记录一次SparkSQL union all语法错误
以前在数据库工具上执行Hive QL用到union all时直接这样写即可select aunion allselect bunion allselect c但是换到SparkSQL中执行却提示错误diagnostics: User class threw exception: org.apache.spark.sql.catalyst.parser.ParseException:mismatched input ‘union’ expecting (line 18, pos 0)原创 2021-10-11 14:33:35 · 3145 阅读 · 1 评论 -
2021-09-30 CDH spark submit job:To solve this try to set hive.exec.max.dynamic.partitions
[2021-09-30 08:22:01,451] {ssh.py:141} INFO - 21/09/30 16:22:01 ERROR yarn.Client: Application diagnostics message: User class threw exception: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: Number of dynamic part原创 2021-09-30 17:02:31 · 2146 阅读 · 0 评论 -
java.math.bigdecimal cannot be cast to scala.math.bigdecimal
在scala中定义了函数Fun(a,b)用于处理hive中某几列数据,但是一直提示java.math.bigdecimal cannot be cast to scala.math.bigdecimal后来查看后发现,函数Fun中我使用的是Scala中提供的BigDecimal方法,但是Hive中数据类型是Java BigDecimal,解决方法是:将函数Fun中的操作用Java BigDecimal 中的API进行实现就可以避免这个问题。或者是将Hive中数据类型转为String,传入函数Fun中原创 2021-09-16 10:24:16 · 1253 阅读 · 0 评论 -
[CDH] Spark 属性、内存、CPU相关知识梳理
version:2.4.0-cdh6.3.0文章目录spark properties常用配置spark taskspark task 使用的cpu核数spark architecturespark memoryspark on yarn问题1:什么情况下使用spark.executor.memoryOverhead问题2:什么情况下使用spark.executor.memory小总结:归根结底,spark中的cpu核数和内存的比例是多少时最合适???spark submitspark propertie原创 2021-09-09 18:51:58 · 1935 阅读 · 0 评论 -
[2021-09-08]使用docker安装airflow后,在容器内执行宿主机或远程服务器上的作业
确保在容器中可以通过ssh连接宿主机或远程服务器(一般是ok的,ssh在容器中也配置的有)在dag中使用SSHOperator创建job。ssh_conn_id创建方式。原创 2021-09-08 18:29:25 · 540 阅读 · 0 评论 -
[2021-09-08] 关于airflow 的任务调度周期设置schedule_interval
schedule_interval原创 2021-09-08 18:18:42 · 1719 阅读 · 0 评论 -
2021-08-31 Hive 分区表的使用
场景:有一个月,大概3T多的数据需要存储到hive中进行分析,不设置分区的话,查询数据的效率很差分区键的选择:这里选择按天分区分区表的创建drop table if exists ods_xty.vnbd_gps_202107_p;create table ods_xty.vnbd_gps_202107_p(row_key String comment "",zdate String comment "",vid BIGINT comment "",lat BIGINT comment "原创 2021-09-02 22:15:53 · 377 阅读 · 0 评论 -
2021-08-30 Could not get block locations. Source file XXXXXX
Query Hive on Spark job[0] stages: [0]Spark job[0] status = RUNNING-------------------------------------------------------------------------------------- STAGES ATTEMPT STATUS TOTAL COMPLETED RUNNING PENDING FAILED---------------原创 2021-09-02 14:22:40 · 2873 阅读 · 0 评论 -
CDH yarn 管理的内核个数、内存大小配置方式
文章目录CPU内存参考资料在Cloudera Manager的群集内选择yarn进入yarn的配置界面在筛选器一栏中选择资源管理CPU搜索配置项yarn.nodemanager.resource.cpu-vcores可以为容器分配的虚拟 CPU 内核的数量这个数值可以大于物理机实际的cpu内核数量,cdh好像不会校验,这里一般按1:1来设置数值根据node manager节点所在物理机的配置来设置集群所有物理机的信息在“主机”页面进行查看内存搜索yarn.nodemanag原创 2021-09-02 10:30:09 · 1944 阅读 · 0 评论 -
[CDH 6.3.X] clouder manager 6.3.2 、CDH 6.3.1、安装过程
文章目录硬件准备虚拟机方案硬盘分区方案/bootswarp分区/网络配置配置vmware的虚拟网络配置Win10的网络配置虚拟机的网卡配置通过ssh工具连接虚拟机克隆虚拟机部署注意事项配置网络名称关闭防火墙设置 SELinux 模式启用NTP服务安装python2.7或更低版本CDH需要占用的端口安装http搭建本地http服务配置CDH本地存储库安装Cloudera Manager配置mysql安装CDH硬件准备虚拟机方案硬盘分区方案/boot装载系统启动引导程序的原创 2021-08-29 16:59:19 · 1995 阅读 · 0 评论 -
[hadoop] CDH平台使用记录
CDH官方文档https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_63_packaging.html为什么需要CDH?https://blog.youkuaiyun.com/qq_41946557/article/details/103011675如何正确使用CDH Spark?在CDH中每个组件都分配有相应的用户、用户组,例如用户hdfs用于管理hadoop在使用spark-submit原创 2021-08-25 20:44:51 · 161 阅读 · 0 评论 -
[CDH] 异常处理记录
.103:50108, server: bd.vn0109.jmrh.com/172.168.100.104:218121/08/24 15:33:23 INFO zookeeper.ZooKeeper: Session: 0x17b2a0cdd42a446 closed21/08/24 15:33:23 INFO zookeeper.ClientCnxn: EventThread shut down21/08/24 15:33:23 INFO zookeeper.ClientCnxn: Sessio原创 2021-08-24 16:28:30 · 1258 阅读 · 0 评论 -
Exception in thread “main“ ExitCodeException exitCode=-1073741515:
21/08/24 11:07:25 INFO StateStoreCoordinatorRef: Registered StateStoreCoordinator endpoint21/08/24 11:07:27 WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped21/08/24 11:07:28 INFO原创 2021-08-24 11:21:10 · 1567 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
错误:ERROR yarn.Client: Application diagnostics message: User class threw exception: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration原因分析:运行环境中缺少hbase.*.jar相关依赖包时会导致该问题解决方法:将用到的相关包copy到$HADOOP_HOME/lib路径下即可解决问题,这里我是将整个项目用到的相关依原创 2021-08-20 22:47:59 · 2890 阅读 · 0 评论 -
[cdh]java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object;
这个问题确实是scala版本配置有误导致的通过spark-shell显示的scala版本是准确的,检查scala.version版本是否有误如果无误,继续检查和scala有联系的包,看其版本是否有误类似这种关联依赖要留意检查一下...原创 2021-08-19 07:42:10 · 251 阅读 · 0 评论 -
[Spark] 记录windows下IDEA Spark项目hadoop、hive、spark中Jackson、guava依赖冲突解决过程
项目环境:<scala.version>2.12.14</scala.version><spark.version>3.0.3</spark.version><hadoop.version>3.1.3</hadoop.version><hive.version>3.1.2</hive.version>发现问题:之前测试了访问外置hive的demo运行没有问题demo如下package myspar原创 2021-08-17 14:07:29 · 887 阅读 · 0 评论 -
windows运行saprk程序:Did not find winutils.exe、Could not locate Hadoop executable:
21/08/15 22:38:58 WARN Shell: Did not find winutils.exe: {}java.io.FileNotFoundException: Could not locate Hadoop executable: D:\main\hadoop-3.1.3\bin\winutils.exe -see https://wiki.apache.org/hadoop/WindowsProblemsat org.apache.hadoop.util.Shell.getQual原创 2021-08-15 22:47:02 · 4861 阅读 · 1 评论 -
windows运行spark程序提示Permission denied:
Exception in thread “main” org.apache.spark.sql.AnalysisException: java.lang.RuntimeException: org.apache.hadoop.security.AccessControlException: Permission denied: user=pc, access=EXECUTE, inode="/tmp":hadoop:supergroup:drwx------解决方法:在代码开头添加System.se原创 2021-08-15 22:39:28 · 929 阅读 · 0 评论 -
[Spark3.0.3]java.io.EOFException: End of File Exception between local host is:
文章目录问题截图问题原因问题截图2021-08-15 12:20:13,165 ERROR spark.SparkContext: Error initializing SparkContext.java.io.EOFException: End of File Exception between local host is: “hadoop102/192.168.10.102”; destination host is: “hadoop102”:8021; : java.io.EOFExceptio原创 2021-08-15 12:39:45 · 4003 阅读 · 0 评论 -
scalac: Token not found: C:\Users\User\AppData\Local\JetBrains\IntelliJIdea2020.3\compile-server\to
记一次IDEA Scala项目报错:错误信息:scalac: Token not found: C:\Users\User\AppData\Local\JetBrains\IntelliJIdea2020.3\compile-server\to解决方法:删除project structure下Libraries中的Scala SDK后关闭IDEA,重新打开,检查pom.xml文件中Scala的版本,重新导入Scala SDK...原创 2021-06-21 11:18:26 · 12835 阅读 · 0 评论 -
记一次阿里云EMR报错、解决方法,Failed to create spark client
出现错误前进行的操作。设置hive计算引擎设置为spark,并添加了一些配置项set spark.executor.memory=4g;set spark.yarn.executor.memoryOverhead=4096;set hive.exec.parallel = true;set hive.execution.engine=spark;日志输出=================JOB OUTPUT BEGIN=================Logging initialized .原创 2021-05-06 09:17:53 · 1518 阅读 · 0 评论 -
Spark
docker下的hadoop集群部署使用的github地址:big-data-europe/docker-hadoophttps://github.com/big-data-europe/docker-hadoop使用docker swarm进行部署docker stack deploy -c docker-compose-v3.yml hadoop资料,理解swarmDocker三剑客之Docker Swarmhttps://www.cnblogs.com/zhujingzhi/p/979原创 2021-01-02 18:41:21 · 825 阅读 · 2 评论