spark
lhxsir
Unto a full grown man.
展开
-
workflow经常无故报错SQL
生产集群workflow经常随机报错,但是报错信息都差不多,SQL解析,内存不足的问题,报错信息如下:21/01/29 04:02:54 ERROR yarn.ApplicationMaster: User class threw exception: org.apache.spark.sql.catalyst.errors.package$TreeNodeException: execute, tree:Exchange RoundRobinPartitioning(1)+- *Project [R原创 2021-01-29 12:29:53 · 385 阅读 · 0 评论 -
SparkSreraming读kafka数据(json复杂格式)
项目简介:源端改造,使用ogg从oracle抽数据到kafka,需要自己写代码解析kafka中ogg数据,数据格式比较复杂,需要二次解析!spark:2.1.0版本kafka:0.9.0版本<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <versi原创 2020-05-13 16:30:05 · 544 阅读 · 0 评论 -
数据库迁移问题
(一)Spark读数据为空问题近期数据库迁移,使用Sqoop抽数据到Hive,然后用Spark读数据。经过测试sqoop底层是使用MapReduce程序把Oracle数据导入到Hive中的所以我们应该使用hive的引擎去读这些表,需要在Spark代码中添加配置hiveContext.setConf("spark.sql.hive.convertMetastoreParquet","fals...原创 2019-12-30 13:48:17 · 252 阅读 · 0 评论 -
SparkSQL分区OutOfMemory
由于SparkSQL默认200个分区,为了处理小文件决定使用reparation和coalesce重分区,代码如下(方式一)df_1.coalesce(1).createOrReplaceTempView(“table_tmp”)竟然报错。。Job aborted due to stage failure: Task 1 in stage 8.0 failed 4 times, most r...原创 2019-12-26 18:28:39 · 495 阅读 · 0 评论 -
IDEA常用快捷键
1.Ctrl+F 搜索文件中文本(变量)2.Ctrl+H 查找所有文件中文本(变量)3.Ctrl+Shift + T 搜索类/文件原创 2019-09-24 11:42:10 · 122 阅读 · 0 评论 -
IDEA创建多module项目
新建父模块:New Project --> Maven删除src文件新建子模块:选中父模块后关联SVN点击绿色的+号,选择一个SVN仓库的地址,下面可以选择上传到SVN仓库的目录格式,然后点击Shard(之后项目就会变成绿色)右键项目选择–>Subversion–>Commit Directory点击commit提交,加载完成后就上传成功了...原创 2018-11-09 14:06:56 · 1294 阅读 · 0 评论 -
核对Spark生成的数据流程(一)
日常开发中经常会验证spark生成的数据是否和源oracle库中数据join之后的结果相同?也就是判断spark sql --> hive sql --> oracle sql 执行结果一致即可,比如我们需要核对201907月的数据:(1)在测试oracle中执行sqlselectst.sst_code,sum(case when o.order_type ='1072102...原创 2019-11-12 18:44:53 · 335 阅读 · 0 评论 -
集群运行task数量总结
使用集群运行spark-sql计算 初始化大宽表 近二十年所有数据!1600个Tasks(计算10min + 写入26min)计算两年数据量:130G计算三年数据量:190G平均每年数据量:60G+(2000万条)提交资源申请:每个executor申请内存为16G--executor-memory 12g \--conf spark.yarn.executor.memoryOv...原创 2019-03-27 10:38:32 · 448 阅读 · 0 评论 -
集群运行task数量总结
使用集群运行spark-sql计算 初始化大宽表 近20年所有数据!1700个Tasks(计算10min + 写入30min)计算两年数据量:130G计算三年数据量:190G平均每年数据量:60G+(6000万条)提交资源申请:每个executor申请内存为16G--executor-memory 12g \--conf spark.yarn.executor.memoryOv...原创 2019-03-27 11:19:52 · 168 阅读 · 0 评论 -
Spark刷新当月数据的日期选择
昨天对数据发现4.30号没数据,神马情况?之前都是没问题的,赶紧查原因。。。根据设计文档,insert overwrite 刷新当月的分区数据目前的做法:create_date > date_format(current_date,'yyyy-MM-01')4.30号执行程序(更新4.1-4.30的数据)5.1号执行程序(更新5.1-5.1的数据)5.2号执行程序(更新5....原创 2019-05-23 14:07:50 · 343 阅读 · 0 评论 -
spark推测执行引发的思考
终于到周五了,打开电脑查看集群运行情况,某个workflow原来执行完只需要1h,现在执行时间翻倍?workflow 历史执行时间 4:00-5:14workflow2 历史执行时间 5:00-5:56根据Start Time显示workflow在4:21开始执行,5:00被workflow2卡死,在workflow2 释放资源后,5:52又重新启动并执行成功的。于是调整work...原创 2019-05-31 11:26:59 · 368 阅读 · 0 评论 -
IDEA中配置properties文件
自从生产环境权限回收后,各种问题同时出现:测试数据库和生产数据库不一致,测试集群配置和生产集群配置文件不一致等我承认是之前开发不规范,呃呃呃。。。(1)在resources目录下新建 pro和test子目录新建config.properties文件hive.database = test(2)修改pom.xml打包方式新增profiles<profiles> ...原创 2019-06-05 16:02:12 · 10962 阅读 · 0 评论 -
spark kryo压缩报错问题
由于上游数据湖数据压缩格式改变使用spark sql的thrift jdbc接口查询数据时报错19/07/29 06:12:55 WARN scheduler.TaskSetManager: Lost task 1.0 in stage 1.0 (TID 4, svldl015.csvw.com, executor 1): org.apache.spark.SparkException: Kr...原创 2019-07-29 10:45:07 · 1026 阅读 · 0 评论 -
Spark SQL处理小文件
方法一 使用repartition(spark2.4之后)spark.sql("create table table1 as select /*+ REPARTITION(4) */ age,count(*) from table_1 where age >18 ")方法二 使用hive默认合并方式insert overwrite table table_1 select * fr...原创 2019-08-14 17:29:40 · 3040 阅读 · 1 评论 -
Spark2 SQL动态分区报错
报错信息如下:ERROR yarn.ApplicationMaster: User class threw exception: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: Number of dynamic partitions created is 3464...原创 2019-08-30 13:46:22 · 2049 阅读 · 0 评论 -
spark数据开发业务流程总结
(一)接到新业务流程:(a)应用设计文档(b)计算逻辑文档根据这两个文档,整理业务流程(二)接下来根据业务中伪代码,整理出hive-SQL(a)考虑命名规范(b)考虑存储格式(三)整理好SQL之后开始代码开发(a)建表建字段(类型如何选择)(b)建模块写代码(四)最后核对数据(重点)(五)问题汇总:(1)先建表 后执行代码(2) 建表时 先执行use db(3)从小宽表...原创 2019-03-07 16:41:50 · 588 阅读 · 0 评论 -
集群小文件太多问题(spark-sql优化)
hive外部分区表,每个分区下有200个小文件某张表有三个分区字段(partition_brand, partition_date, partition_rssc)则生成小文件个数:2 * 26 * 8 * 200 = 83,200这个表还算一般,如果按照年月日进行分区的话,小文件就太多了先查看集群动态资源配置:再查看执行spark程序配置资源:--driver-memory 30...原创 2019-02-22 17:50:26 · 7267 阅读 · 8 评论 -
SparkSQL动态分区报错
yarn.ApplicationMaster: User class threw exception: org.apache.spark.SparkException: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic...原创 2019-01-03 20:43:00 · 2009 阅读 · 0 评论 -
spark streaming监控HDFS文件目录
集群环境:CDH5.8.0 / spark1.6.0 / scala2.10.4基于Scala的基本使用方式如下:package com.egridcloud.sparkstreamingimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.fs.Pathimport org.apache.hadoop.io...原创 2018-03-16 16:59:56 · 3924 阅读 · 0 评论 -
集群运行PySpark代码
编写python代码(wordcount.py)import sysfrom operator import addfrom pyspark.sql import SparkSessionif __name__ == "__main__": spark = SparkSession.builder.appName("PythonWordCount").getOrCreate()...原创 2018-04-10 17:25:52 · 3163 阅读 · 0 评论 -
集群运行SparkR代码
编写R语言的代码(sparktest.R )library(SparkR)# Initialize SparkSessionsparkR.session(appName = "SparkR-DataFrame-example")# Create a simple local data.framelocalDF <- data.frame(name=c("John", "Smith...原创 2018-04-10 18:05:58 · 538 阅读 · 0 评论 -
spark读写csv文件
如果是spark1.6.0请添加maven: <dependency> <groupId>com.databricks</groupId> <artifactId>spark-csv_2.10</artifactId> <version>1....原创 2018-03-29 11:48:24 · 15344 阅读 · 3 评论 -
IDEA创建project和多个module(相互依赖打包)
一、工程目录 dac_parent 父目录 dac-utils 继承 dac_parent(不依赖 dac_parent) dac-csr 依赖 dac_parent dac-label 依赖 dac_parent 和 dac-csr dac-test 依赖 dac_parent 和 dac-utils 二、实际操作 新建project名称,其中底部是module名称 ...原创 2018-08-02 17:49:45 · 27728 阅读 · 4 评论 -
SparkStreaming(SparkSQL)+Kafka+Oracle 使用SQL完成的实时累加统计
Kafka+SparkStreaming已经发展为一个比较成熟的实时日志收集与计算架构,利用Kafka,即可以支持将用于离线分析的数据流到HDFS,又可以同时支撑多个消费者实时消费数据,包括SparkStreaming。然而,在SparkStreaming程序中如果有复杂业务逻辑的统计,使用scala代码实现起来比较困难,也不易于别人理解。但如果在SparkSteaming中也使用SQL来做统计分...原创 2018-08-24 16:00:56 · 5536 阅读 · 0 评论 -
SparkStreaming(SparkSQL)+Kafka+Oracle 使用SQL完成的实时累加统计(更新)
Kafka+SparkStreaming已经发展为一个比较成熟的实时日志收集与计算架构,利用Kafka,即可以支持将用于离线分析的数据流到HDFS,又可以同时支撑多个消费者实时消费数据,包括SparkStreaming。然而,在SparkStreaming程序中如果有复杂业务逻辑的统计,使用scala代码实现起来比较困难,也不易于别人理解。但如果在SparkSteaming中也使用SQL来做统计分...原创 2018-09-07 16:32:09 · 2056 阅读 · 0 评论 -
Spark常用执行脚本
集群环境变量无配置:export SPARK_DIST_CLASSPATH=$(hadoop classpath)安全认证:kinit -k -t test.keytab test@www.comspark2执行命令:#! /bin/bashspark2-submit \--class com.lhx.test \--master yarn \--deploy-mode clus...原创 2018-11-23 15:47:02 · 3204 阅读 · 0 评论 -
Spark SQL优化流程(解决集群OOM问题)
根据七张基础业务表,生成大宽表tt_sales_order 1826 7673 大 ordtt_deposit_order 56 0368 小 deptt_vehicle_action 236 5624 中 vactt_pipeline_pool 1000 0000 大 poltt_vehicle_resource 53 9059 小 vrett_dealer...原创 2018-11-30 11:09:29 · 1092 阅读 · 0 评论 -
Spark执行SQL报错GC问题
java.lang.OutOfMemoryError: GC overhead limit exceeded at org.apache.spark.unsafe.types.UTF8String.fromAddress(UTF8String.java:102) at org.apache.spark.sql.catalyst.expressions.UnsafeRow.getUTF8Stri...原创 2018-11-28 14:45:20 · 2677 阅读 · 0 评论 -
Hue上查看spark运行信息(二)
进入spark运行历史界面:可以查看运行时间,Jobs等详细信息一般来说,每个Action的触发都会生成一个Job,一个 Job 会被拆分成stages,一个 stage由多个 task构成(Jobs–> Stages --> Tasks)点击进入job(被分成2个stage)详细信息,查看运行时刻表、DAG可视化、输入数据、输出数据等信息。...原创 2018-12-13 11:52:25 · 1190 阅读 · 0 评论 -
Hue上查看spark运行报错信息(一)
点击Hue报错页面,找到application_ID根据application_ID到yarn界面(http://bigdata.lhx.com:8088/cluster)找到完整信息点击ID或者history进入logs界面详细报错信息:spark找不到集群中asmp数据库 ERROR yarn.ApplicationMaster: User class threw except...原创 2018-12-11 10:31:31 · 2166 阅读 · 0 评论 -
sparksql读parquet表执行报错
集群内存:1024G(数据量:400G)(1)报错信息:Job aborted due to stage failure: Serialized task 2231:2304 was 637417604 bytes, which exceeds max allowed: spark.rpc.message.maxSize (134217728 bytes). Consider increas...原创 2018-12-29 13:21:23 · 1110 阅读 · 0 评论 -
spark读写数据到kafka
集群环境:CDH5.8.0 / spark1.6.0 / scala2.10.4在使用时,我们需要添加相应的依赖包: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming-kafka_2.10</artifa...原创 2018-03-16 12:41:10 · 5499 阅读 · 0 评论