文章分类 - spark
摘要:背景: 一个切词、一个自然语言处理 原算法程序情况: 切词程序.py :每次读取数据,需要从数仓把数据文件拉取出来,然后手动导给算法同学处理 , 然后算法同学本地笔记本跑数据,得到切词数据 自然语言处理.py : 依赖上一个切词程序的结果数据,然后做情感分析。得到结果后,在手动导入数仓 问题: 1)
阅读全文
摘要:负责的一个任务平台项目的spark版本是1.6.1的,主要变成语言是python; 现阶段要把spark从1.6.1 直接 升级到2.4.6版本,这期间遇到很多问题,特此记录: 1、语法兼容问题 数据平台任务会分成天任务、小时任务,我们会把处理后的数据写入到hive的表里面(分区里面) 比如: 1.
阅读全文
摘要:先说历史情况: 在spark2.0版本之前(比如1.6版本),spark sql如果读取csv格式数据,要导入: <dependency> <groupId>com.databricks</groupId> <artifactId>spark-csv_2.11</artifactId> </depe
阅读全文
摘要:1、spark的ThriftServer介绍 spark的thriftServer是在hiveServer2基础上实现的 , 提供了Thrift服务 ,也就是提供了远程的ODBC服务 用户画像,对受众目标进行筛选 , 数据源是在hive数仓的; 早期直接通过hive on spark的方式去做处理
阅读全文
摘要:如何让sparkSQL在对接mysql的时候,除了支持:Append、Overwrite、ErrorIfExists、Ignore;还要在支持update操作 1、首先了解背景 spark提供了一个枚举类,用来支撑对接数据源的操作模式 通过源码查看,很明显,spark是不支持update操作的 2、
阅读全文
摘要:场景:重构spark 2.1版本的sql语法。因此 需要使用antlr; 前期准备:idea安装了antlr插件(antlr的4.7.2版本) 因此在maven工程中添加了antlr的依赖: <dependency> <groupId>org.antlr</groupId> <artifactId>
阅读全文
摘要:在struct streaming提供了一个类,用来监听流的启动、停止、状态更新 StreamingQueryListener 实例化:StreamingQueryListener 后需要实现3个函数: abstract class StreamingQueryListener { import S
阅读全文
摘要:spark sql中有一个类: org.apache.spark.sql.internal.SharedState 它是用来做: 1、元数据地址管理(warehousePath) 2、查询结果缓存管理(cacheManager) 3、程序中的执行状态和metrics的监控(statusStore)
阅读全文
摘要:组件:cdh5.14.0 spark是自己编译的spark2.1.0-cdh5.14.0 第一步:确认spark-defaults.conf中添加了如下配置: spark.shuffle.service.enabled true //启用External shuffle Service服务 spar
阅读全文
摘要:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream at org.apache.spark.deploy.SparkSubmitArguments.hand
阅读全文
摘要:错误大概这样: Caused by: java.util.concurrent.ExecutionException: Boxed Error Caused by: java.lang.UnsatisfiedLinkError: /opt/cdh/hadoop-2.6.0-cdh5.14.0/tmp
阅读全文
摘要:自定义sparkSQL数据源的过程中,需要对sparkSQL表的schema和Hbase表的schema进行整合; 对于spark来说,要想自定义数据源,你可以实现这3个接口: BaseRelation 代表了一个抽象的数据源。该数据源由一行行有着已知schema的数据组成(关系表)。 TableS
阅读全文
摘要:op.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302) at org.apache.hadoop.yarn.server.nodemanager.conta
阅读全文
摘要:类似Uber,需要处理处不同时间段的不同地区的订单热点区域,帮助进行网约车的及时调度处理 每个成交单Order中,都会有订单上车位置的起始经纬度:open_lat , open_lng 那么在这个时间段内,哪些地区是高密集订单区域,好进行及时的调度,所以需要得到不同地区的热力图 初期想法是基于经纬度
阅读全文
摘要:需求 将HDFS上的数据解析出来,然后通过hfile方式批量写入Hbase(需要多列写入) 写入数据的关键api: rdd.saveAsNewAPIHadoopFile( stagingFolder, classOf[ImmutableBytesWritable], classOf[KeyValue
阅读全文
摘要:笔者使用Spark streaming读取Kakfa中的数据,做进一步处理,用到了KafkaUtil的createDirectStream()方法;该方法不会自动保存topic partition的offset到zk,需要在代码中编写提交逻辑,此处介绍了保存offset的方法。 当删除已经使用过的k
阅读全文
摘要:话不多说,可以看上篇博文,关于offset存储到zookeeper https://www.cnblogs.com/niutao/p/10547718.html 本篇博文主要告诉你如何将offset写到Hbase做存储: 最后存储到Hbase的展现形式: testDirect:co:15526675
阅读全文
摘要:参考上篇博文:https://www.cnblogs.com/niutao/p/10547718.html 同样的逻辑,不同的封装 package offsetInZookeeper /** * Created by angel */ import java.lang.Object import k
阅读全文
摘要:1:为什么大批量数据集写入Hbase中,需要使用bulkload BulkLoad不会写WAL,也不会产生flush以及split。 如果我们大量调用PUT接口插入数据,可能会导致大量的GC操作。除了影响性能之外,严重时甚至可能会对HBase节点的稳定性造成影响。但是采用BulkLoad就不会有这个
阅读全文