摘要: 1.什么是Spark Streaming Spark Streaming 也是Spark流式处理的解决方案之一.与结构化流相比, Streaming 应该算更早期的解决方案.但在实际工作中,Streaming 才是主流方案.而结构化流更多依然处于实验或者储备状态中. Spark Streaming 阅读全文
posted @ 2018-07-10 23:13 NightPxy 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 6 流的监控以及故障恢复 6.1.流的运行时数据 结构化流启动后返回的 StreamingQuery 对象. 6.2 交互式(同步)监控 可以直接获取活动查询的当前状态和指标使用 streamingQuery.lastProgress() 和 streamingQuery.status() last 阅读全文
posted @ 2018-07-08 00:04 NightPxy 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 5.结构化流的输出 一旦定义好了streaming DataFrame/Dataset的最终结果,剩下的就是一些计算输出了.为此,必须使用 DataStreamWriter通过 Dataset.writeStream() 返回.此时必须以下一个或多个 输出落地 的详细信息: Data format, 阅读全文
posted @ 2018-07-07 23:59 NightPxy 阅读(1649) 评论(1) 推荐(2) 编辑
摘要: 4.用法 结构化流使用Datasets和DataFrames.从Spark2.0开始,Spark-SQL中的Datasets和DataFrames,就已经能很好表示静态(有界)数据,动态(无界)数据 4.1 数据源 结构化流提供了四种不中断数据源 file-system,kafka,socket.r 阅读全文
posted @ 2018-07-07 23:56 NightPxy 阅读(597) 评论(1) 推荐(2) 编辑
摘要: 1.什么是结构化流. 结构化流(Structured Streaming),是一种基于Spark-SQL引擎构建的,可容错的,可扩展的流处理引擎. 它以微批量计算的形式来表达流式计算,随着流式数据持续到达,它能持续的进行处理并更新最终计算结果. 它使用Spark-SQL带来的丰富的API,来表示流聚 阅读全文
posted @ 2018-07-05 23:53 NightPxy 阅读(919) 评论(0) 推荐(0) 编辑
摘要: 1.自定义弱类型UDAF 1.1 弱类型UDAF定义 弱类型UDAF继承实现 UserDefinedAggregateFunction 抽象类 override def inputSchema: StructType = 输入schema override def bufferSchema: Str 阅读全文
posted @ 2018-07-05 16:41 NightPxy 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 7. 数据源 Spark-SQL 支持通过Dataframe接口对各种数据源进行操作 各种数据源的加载&保存 数据转换(relational transformations) 注册临时视图(temporary view),来允许SQL的形式直接对临时视图进行操作 7.1 数据源加载 Spark-SQ 阅读全文
posted @ 2018-07-05 00:13 NightPxy 阅读(2732) 评论(0) 推荐(0) 编辑
摘要: 1.概述 Spark-SQL是Spark用于处理结构化数据的一个模块. 它与RDD的优势在于 对外而言,类SQL语言会有更大的人群适应性. 对内而言,Spark-SQL的结构化信息,会带来额外的执行优化 注意一个认识误区,Spark-SQL 不等于 SQL. Spark-SQL是Spark用于处理结 阅读全文
posted @ 2018-07-04 00:41 NightPxy 阅读(907) 评论(0) 推荐(0) 编辑
摘要: 对于Spark来说,有3种Join的实现方式 Broadcast Hash Join Shuffle Hash Join Sort Merge Join Broadcast Hash Join和Shuffle Hash Join都是hash-join 区别只在于先广播还是先shuffle. Sort 阅读全文
posted @ 2018-07-03 00:24 NightPxy 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 5.RDD的持久化 5.1 概述 Spark一个很重要的能力就是支持对RDD的持久化(或者说缓存),并且在多个操作可以访问这些持久化数据,从从而无需再重新计算. 对于RDD的持久化,Spark还有个很重要的能力就是容错的: 如果RDD的某个分区丢失了,它会自动的根据它的源RDD重新计算 5.2 存储 阅读全文
posted @ 2018-06-30 19:03 NightPxy 阅读(632) 评论(0) 推荐(0) 编辑