随笔分类 -  Spark

摘要:spark sql执行insert overwrite table时,写到新表或者新分区的文件个数,有可能是200个,也有可能是任意个,为什么会有这种差别? 首先看一下spark sql执行insert overwrite table流程: 1 创建临时目录,比如 .hive-staging_hiv 阅读全文
posted @ 2019-01-09 15:05 匠人先生 阅读(2431) 评论(0) 推荐(1)
摘要:一 场景分析 定位分析广泛应用,比如室外基站定位,室内蓝牙beacon定位,室内wifi探针定位等,实现方式是三点定位 Trilateration 理想情况 这种理想情况要求3个基站‘同时’采集‘准确’的距离信息, 实际情况 3个基站采集数据的时间是分开的; 采集数据的距离不准确; 解决方法是: 增 阅读全文
posted @ 2018-12-29 13:26 匠人先生 阅读(573) 评论(0) 推荐(0)
摘要:一 场景分析 用户行为分析应用的场景很多,像线上网站访问统计,线下客流分析(比如图像人脸识别、wifi探针等),比较核心的指标有几个: PV | UV | SD | SC 指标说明: PV(Page View):网站浏览量或者商场门店的访问量UV(Unique Visitor):独立访客数,即去重后 阅读全文
posted @ 2018-12-29 12:18 匠人先生 阅读(935) 评论(0) 推荐(1)
摘要:spark 2.1.1 spark初始化rdd的时候,需要读取文件,通常是hdfs文件,在读文件的时候可以指定最小partition数量,这里只是建议的数量,实际可能比这个要大(比如文件特别多或者特别大时),也可能比这个要小(比如文件只有一个而且很小时),如果没有指定最小partition数量,初始 阅读全文
posted @ 2018-12-28 20:55 匠人先生 阅读(8193) 评论(0) 推荐(5)
摘要:spark 2.1.1 spark中可以通过RDD.sortBy来对分布式数据进行排序,具体是如何实现的?来看代码: org.apache.spark.rdd.RDD /** * Return this RDD sorted by the given key function. */ def sor 阅读全文
posted @ 2018-12-28 20:07 匠人先生 阅读(1284) 评论(0) 推荐(0)
摘要:今天遇到一个问题,spark应用中在一个循环里执行sql,每个sql都会向一张表写入数据,比如 insert overwrite table test_table partition(dt) select * from test_table_another; 除了执行sql没有其他逻辑,每个sql都 阅读全文
posted @ 2018-12-27 22:20 匠人先生 阅读(836) 评论(0) 推荐(0)
摘要:一 简介 Shuffle,简而言之,就是对数据进行重新分区,其中会涉及大量的网络io和磁盘io,为什么需要shuffle,以词频统计reduceByKey过程为例, serverA:partition1: (hello, 1), (word, 1)serverB:partition2: (hello 阅读全文
posted @ 2018-12-21 18:54 匠人先生 阅读(1775) 评论(0) 推荐(1)
摘要:spark中要将计算结果取回driver,有两种方式:collect和take,这两种方式有什么差别?来看代码: org.apache.spark.rdd.RDD /** * Return an array that contains all of the elements in this RDD. 阅读全文
posted @ 2018-12-21 14:56 匠人先生 阅读(2431) 评论(0) 推荐(1)
摘要:之前讨论过hive中limit的实现,详见 https://www.cnblogs.com/barneywill/p/10109217.html下面看spark sql中limit的实现,首先看执行计划: spark-sql> explain select * from test1 limit 10 阅读全文
posted @ 2018-12-21 14:36 匠人先生 阅读(3635) 评论(0) 推荐(0)
摘要:最近把一些sql执行从hive改到spark,发现执行更慢,sql主要是一些insert overwrite操作,从执行计划看到,用到InsertIntoHiveTable spark-sql> explain insert overwrite table test2 select * from t 阅读全文
posted @ 2018-12-21 11:45 匠人先生 阅读(8602) 评论(1) 推荐(1)
摘要:spark on yarn通过--deploy-mode cluster提交任务之后,应用已经在yarn上执行了,但是spark-submit提交进程还在,直到应用执行结束,提交进程才会退出,有时这会很不方便,并且不注意的话还会占用很多资源,比如提交spark streaming应用; 最近发现sp 阅读全文
posted @ 2018-12-21 11:15 匠人先生 阅读(2950) 评论(0) 推荐(0)
摘要:最近提交一个spark应用之后发现执行非常慢,点开spark web ui之后发现卡在一个job的一个stage上,这个stage有100000个task,但是绝大部分task都分配到两个executor上,其他executor非常空闲,what happened? 查看spark task分配逻辑 阅读全文
posted @ 2018-12-20 21:44 匠人先生 阅读(2238) 评论(0) 推荐(0)
摘要:一 简介 spark核心是RDD,官方文档地址:https://spark.apache.org/docs/latest/rdd-programming-guide.html#resilient-distributed-datasets-rdds官方描述如下:重点是可容错,可并行处理 Spark r 阅读全文
posted @ 2018-12-20 21:18 匠人先生 阅读(1666) 评论(0) 推荐(1)
摘要:spark 2.1.1 beeline连接spark thrift之后,执行use database有时会卡住,而use database 在server端对应的是 setCurrentDatabase, 经过排查发现当时spark thrift正在执行insert操作, org.apache.sp 阅读全文
posted @ 2018-12-19 19:38 匠人先生 阅读(956) 评论(0) 推荐(0)
摘要:spark查orc格式的数据有时会报这个错 Caused by: java.lang.NullPointerException at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat$BISplitStrategy.getSplits(OrcInputF 阅读全文
posted @ 2018-12-19 11:36 匠人先生 阅读(3749) 评论(0) 推荐(1)
摘要:本地运行spark报错 18/12/18 12:56:55 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.18/12/18 12:56:55 WARN Utils: Service 'spa 阅读全文
posted @ 2018-12-18 21:08 匠人先生 阅读(3821) 评论(0) 推荐(1)
摘要:spark 2.1.1 hive正在执行中的sql可以很容易的中止,因为可以从console输出中拿到当前在yarn上的application id,然后就可以kill任务, WARNING: Hive-on-MR is deprecated in Hive 2 and may not be ava 阅读全文
posted @ 2018-12-18 17:18 匠人先生 阅读(1380) 评论(0) 推荐(0)
摘要:spark 2.1.1 spark在写数据到hive外部表(底层数据在hbase中)时会报错 Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat cannot 阅读全文
posted @ 2018-12-18 16:15 匠人先生 阅读(2878) 评论(1) 推荐(1)
摘要:spark 2.1.1 一 启动命令 启动spark thrift命令 $SPARK_HOME/sbin/start-thriftserver.sh 然后会执行 org.apache.spark.deploy.SparkSubmit --class org.apache.spark.sql.hive 阅读全文
posted @ 2018-12-18 15:54 匠人先生 阅读(3555) 评论(0) 推荐(1)
摘要:spark 2.1.1 spark里执行sql报错 insert overwrite table test_parquet_table select * from dummy 报错如下: org.apache.spark.SparkException: Task failed while writi 阅读全文
posted @ 2018-12-18 15:08 匠人先生 阅读(4929) 评论(1) 推荐(3)