
Spark
kaloKu
要与不要
展开
-
Spark 运行产生Unable to acquire xxx bytes of memory 错误解决方法
背景:对单月日志进行分析时(120G左右),生成结果csv文件时 .coalesce(1) .write .mode(SaveMode.Overwrite) .format("com.databricks.spark.csv") .option("header", "true") .save("periodowntop10.csv")**coalesce函数为控制结果文件个数为1 因为有多少个partition 就会在指定目录下生原创 2020-05-28 11:23:25 · 4937 阅读 · 1 评论 -
spark scala 使用ip2region解析ip地址详细信息
需求场景如下:现需要将ip地址解析并提取对应的省份信息感谢xxh的推荐开源 IP 地址定位库 ip2regionip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 2.7M,提供了 Java、PHP、C、Python、Node.js、Golang 的查询绑定和 Binary、B树、内存三种查询算法下载地址:码云git引入maven...原创 2020-04-23 10:30:05 · 1359 阅读 · 2 评论 -
Spark 上下游数据校验及重新处理方法
需求场景如下:上游mysql数据库每天经过sqoop导入hive中的分区表,在导入过程中sqoop偶尔会产生error等问题,导致下游数据与上游数据产生偏差,现在需要方法校验数据,以及对数据进行重跑,考虑过后决定使用重刷的方式进行处理数据质量校验1.先使用count进行数量上的校验,当上下游相同批次数据条数相同时则无需进行处理2.当上下游数据量不同时 对下游数据进行重刷数据重刷spa...原创 2019-12-04 14:44:03 · 1052 阅读 · 0 评论 -
SparkStreamin on yarn 长时间运行作业的提交优化
容错在YARN集群模式下,Spark驱动程序与Application Master(应用程序分配的第一个YARN容器)在同一容器中运行。此过程负责从YARN 驱动应用程序和请求资源(Spark执行程序)。重要的是,Application Master消除了在应用程序生命周期中运行的任何其他进程的需要。即使一个提交Spark Streaming作业的边缘Hadoop节点失败,应用程序也不会受到影响...原创 2019-07-26 15:52:39 · 463 阅读 · 0 评论 -
Spark 从Cache与Persist入手,浅谈缓存类别的关系与区别
我们为什么要在spark中使用Cache?我们先做一个简单的测试读取一个本地文件做一次collect操作:(仅做测试用,生产中使用collect容易发生driver OOM等问题,不推荐使用)val rdd=sc.textFile("file:///home/hadoop/data/input.txt")val rdd=sc.textFile("file:///home/hadoop/dat...原创 2019-07-03 16:12:50 · 244 阅读 · 0 评论 -
SparkSQL 操作常用外部数据源小结(二)
Hive数据源 Apache Hive是Hadoop上的SQL引擎,Spark SQL编译时可以包含Hive支持,也可以不包含。包含Hive支持的Spark SQL可以支持Hive表访问、UDF(用户自定义函数)以及 Hive 查询语言(HiveQL/HQL)等。需要强调的 一点是,如果要在Spark SQL中包含Hive的库,并不需要事先安装Hive。一般来说,最好还是在编译Spark ...原创 2019-06-27 14:47:20 · 160 阅读 · 0 评论 -
SparkSQL 读取mysql大表速度过慢解决方法
问题背景在使用sqarksql.read读取mysql表时(大约为2400万条左右) val scholarDF = spark.read .format("jdbc") .option("url", "jdbc:mysql://192.168.60.49:3306/test") .option("dbtable", "scholar_2") .o...原创 2019-07-08 12:13:00 · 5448 阅读 · 0 评论 -
SparkSQL 操作常用外部数据源小结(一)
通用加载/保存方法手动指定选项Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询。Spark SQL的默认数据源为Parquet格式。数据源为Parquet文件时,Spark SQL可以方便的执行所有的操作。修改配置项spar...原创 2019-06-26 10:13:32 · 234 阅读 · 0 评论 -
SparkStreaming+kafka 外部数据源保存offset实例(MySQL)
MySQL创建存储offset的表格mysql> use testmysql> create table hlw_offset( topic varchar(32), groupid varchar(50), partitions int, fromoffset bigint, untiloffset ...原创 2019-07-01 15:52:42 · 404 阅读 · 0 评论 -
spark 构建自增id列遇到的问题及解决方法
使用场景在为总行数为2400的单字段机构列表创建递增的id列时如图:在使用如下代码时// 使用 monotonically_increasing_id()函数构建自增id列 val lin5 =sc.textFile("file:///spark//headings//unitName1.txt") .toDF("unit_name") .withColumn(...原创 2019-04-17 12:35:13 · 1047 阅读 · 0 评论 -
SparkSQL 解析XML文件并在UDF中传入Map[]类型的参数
需求场景如下:有一份xml文件存储着中图分类号-----> 教育部分类号的映射关系部分如下图所示现在需要解析这份xml文件,并根据对应的映射关系,将DF中的中图分类号映射为相应的教育部分类号1:spark解析xml文件maven中导入spark-xml对应的依赖 <dependency> <groupId>com.d...原创 2019-06-25 11:32:11 · 1681 阅读 · 0 评论