DataSet API编程指南之Data Sink(五)

Flink的数据流向图,如下图所示。
在这里插入图片描述
Source 就是数据的来源,中间的 Transformations其实就是具体的处理逻辑,进行一系列的转换,最后,将结果 Sink 到目的地,或者说存储到某个地方。

  • writeAsText() / TextOutputFormat - 以字符串的形式逐行写入元素。字符串是通过调用每个元素的toString()方法获得的。
  • writeAsFormattedText() / TextOutputFormat - 以字符串的形式逐行写入元素。可以通过调用用户定义的format() 方法获取每个元素的字符串值。
  • writeAsCsv(...) / CsvOutputFormat - 以逗号分隔值文件的形式写入元组。行和字段间的分隔符是可以配置的。每个字段的值可以通过对象.toString()方法获取。
  • print() / printToErr() - 在标准输出/标准错误流中打印每个元素的toString()值。
  • write() / FileOutputFormat -方法和用户自定义文件输出的基类。支持自定义对象到字节的转换。
  • output()/ OutputFormat - 较为通用的输出方法,用于不基于文件的Data Sink(例如将结果存储在数据库中)。

使用案例介绍:

object DataSetSinkApp {
    def main(args: Array[String]): Unit = {
        var list = 1 to 10
        val env: ExecutionEnvironment = ExecutionEnvironment
                .getExecutionEnvironment
        val data: DataSet[Int] = env.fromCollection(list)

        data.writeAsText("data/output/sink/list",
            writeMode = WriteMode.OVERWRITE)
                .setParallelism(2)  // 输出到两个文件中
        // Note: 一定要执行下面这段代码,否则不会输出
        env.execute("DataSetSinkApp")
    }
}

文件输出结果:
Sink文件输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nvm dataset方式是一种存储dtc(Diagnostic Trouble Code,故障码)entry data的方法。nvm代表非易失性存储器(Non-Volatile Memory),而dataset则表示数据集。 在使用nvm dataset方式存储dtc entry data时,首先需要了解故障码的定义和相关数据。故障码通常由一个唯一的标识符和与之相关的数据组成。这些数据包括有关故障的描述、故障类型、故障代码以及故障出现的条件等。 接下来,需要设计和创建一个适合存储dtc entry data的数据结构。这个数据结构可以使用数组、链表或者其他适当的数据结构形式。每个dtc entry都包含故障码的标识符以及相关数据。这些entry按顺序存储到nvm dataset中。 为了保证数据的一致性和可靠性,可能需要实现一些数据校验和错误检测机制。这些机制可以用于验证dtc entry的完整性,以及在数据存储或读取过程中检测和修复错误。 当需要存储新的dtc entry时,可以将新的entry添加到nvm dataset的末尾。如果nvm dataset已满,则需要进行合适的管理策略,例如覆盖最旧的entry或者创建新的nvm dataset。 当需要访问、检索或删除dtc entry时,可以通过索引或其他标志来定位并操作这些entry。这样,就能对故障码进行有效的管理和维护。 综上所述,nvm dataset方式通过设计合适的数据结构和实施相关的数据校验与错误检测机制,能够有效地存储和管理dtc entry data。这种方式可以使得故障码的存储更可靠、高效,并能方便地对其进行操作和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值