什么是支持的流数据源来持久化结果?

     2023-04-15     125

关键词:

【中文标题】什么是支持的流数据源来持久化结果?【英文标题】:What is a supported streaming datasource to persist result? 【发布时间】:2016-06-29 10:44:37 【问题描述】:

我正在尝试将新的流式写入功能与 spark 2.0.1-SNAPSHOT 一起使用。实际上支持哪个输出数据源来持久化结果? 我能够通过以下方式在控制台上显示输出:

Dataset<Event> testData = sqlContext
    .readStream()
    .schema(schema)
    .format("json")
    .load("s3://......")
    .as(encoder);

Dataset<Row> result = testData.filter("eventType = 'playerLoad'")
    .groupBy(col("country"), window(col("timestamp"), "10 minutes"))
    .agg(sum("startupTime").alias("tot"));

result.writeStream()  
      .outputMode(OutputMode.Complete())
      .format("console")
      .start()
      .awaitTermination();

但如果我尝试将 .format("console") 更改为 "json" 或 "jdbc",则会收到消息:数据源 xxx 不支持流式写入。

【问题讨论】:

【参考方案1】:

目前(截至 2016 年 7 月 9 日)有四个可用的流式接收器:

ConsoleSinkconsole 格式。 FileStreamSinkparquet 格式。 ForeachSink 用于 foreach 运算符。 MemorySinkmemory

您可以创建自己的流格式实现StreamSinkProvider。

【讨论】:

mybatis复习笔记

...ainOldJavaObjects,普通老式Java对象)为数据库中的记录。1.2持久化数据持久化持久化就是将程序的数据在 查看详情

day23-mybatis(代码片段)

...JavaObjects,普通老式Java对象)为数据库中的记录。什么是持久化数据持久化将程 查看详情

追踪openvswitch对特定数据报文的流表匹配与处理结果的实例(代码片段)

SDN环境中,每一个openvswitch的datapath实例中都会有大量的流表项,无论是使用各种关键字的grep手段或者是其他方法来确认是否由控制器下发了预期正确流表项,还是看关于特定数据包的匹配与最终action都是一件非常繁琐和头疼的... 查看详情

从入门到上手:什么是k8s持久卷?(代码片段)

本文是介绍Kubernetes的基本概念的系列文章之一,在第一篇文章中,我们简单介绍了持久卷(PersistentVolumes)。在本文中,我们将学习如何设置数据持久性,并将编写Kubernetes脚本以将我们的Pod连接到持久卷。在此示例中,将使用Az... 查看详情

说说redis持久化方式?分别优缺点是什么?redis更新策略是什么?

...散列、有序集合等。Redis的一个重要特性是它可以将数据持久化到磁盘中,从而保证数据的安全性和可靠性。本文将介绍Redis的两种持久化方式:RDB和AOF,以及它们的优缺点和更新策略。RDB(RedisDatabase)持久化方式是指Redis在一... 查看详情

mybatis面试题(2020)

...述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系型数据库中。为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?Hibernate属于全自动ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时... 查看详情

mybatis面试题(2020)

...述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系型数据库中。为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?Hibernate属于全自动ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时... 查看详情

什么是redis?

...ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API它通常被称为数据结构服务器,因为值(value)可以是字符串(String),哈希(Map),列表(list),集合(sets)和有序集合(sortedsets)等... 查看详情

mybatis1.简介

目录1、简介1.1、什么是Mybatis1.2、持久化1.3、持久层1.4、为什么需要Mybatis?1、简介1.1、什么是MybatisMyBatis是一款优秀的持久层框架它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获... 查看详情

追踪openvswitch对特定数据报文的流表匹配与处理结果的实例(代码片段)

...14922SDN环境中,每一个openvswitch的datapath实例中都会有大量的流表项,无论是使用各种关键字的grep手段或者是其他方法来确认是否由控制器下发了预期正确流表项,还是看关于特定数据包的匹配与最终action都是一件非常繁琐和头... 查看详情

什么是mybatis框架

MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOrdinaryJav... 查看详情

redis和mongodb比起来优缺点是啥?

...set(集合)、zset(排序set)、hyperloglog(基数估算)2、支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失的手段。3、支持通过Replication进行数据复制,通过master-slave机... 查看详情

菜鸟刷面试题(redis篇)

...n有哪些区别?怎么保证缓存和数据库数据的一致性?redis持久化有几种方式?redis怎么实现分布式锁?redis分布式锁有什么缺陷?redis如何做内存优化?redis淘汰策略有哪些?redis常见的性能问题有哪些?该如何解决?redis是什么?... 查看详情

redis的相关总结

...持简单数据类型,不支持分片,不支持主从分布,不支持持久化存储。redis数据类型丰富,支持主从分布,支持分片,支持持久化存储3.为什么redis这么快?100000+qps(每秒内查询次数)1)完全基于内存,绝大部分的请求纯粹是内存... 查看详情

大数据kafka是啥呢?

...ka主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。支持KafkaServer间的消息... 查看详情

redis入门使用--个人总结(代码片段)

...性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库*是当前最热门的NoSql数据库之一,也被人们称为数据结构服务?Redis与其他key-value?数据库的对比***Redis支持数据的持久化**,可以将内存中的数据保持在磁... 查看详情

kafka设计理念解析(代码片段)

...据库日志。我们将在以下部分概述设计的一些元素。三.持久化不要害怕文件系统!Kafka严重依赖文件系统来存储和缓存消息。人们普遍认为“磁盘很慢”,这让人们怀疑持久化结构能否提供有竞争力的性能。事实上,磁盘比人们... 查看详情

什么是orm框架

...格式,并且存放在专门的对象一映射文件中。只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。当前ORM框架主要有三种:Hibernate,iBATIS,EclipseLink。 查看详情