当前位置: 首页 > 知识库问答 >
问题:

spark.read.csv()是转换操作吗

潘翊歌
2023-03-14

比尔在《火花权威指南》一书中说,阅读是一种转换,而且是一种狭义的转换,

现在,如果我运行下面的spark代码并尝试查看spark UI,我会看到一个创建的作业df=spark.read.csv(“path/to/file”)

共有1个答案

上官扬
2023-03-14

根据您提供的参数,转换(尤其是读操作)可以有两种行为方式

  1. 懒洋洋地计算-->只有在调用操作时才会执行
  2. 急切评估-->将触发作业进行一些初始评估

如果是read.csv()

    null
    null
  • 现在,如果通过向read.csv()的“schema”参数提供StructType()schema对象来显式指定schema,那么您可以看到这里不会触发任何作业。这是因为,我们已经显式地提供了列和类型的数量,spark的目录将存储这些信息,现在它不需要扫描文件来获得这些信息。这将在调用action
  • 时被懒洋洋地验证
 类似资料:
  • 访问 获取子节点的Path 为了得到一个AST节点的属性值,我们一般先访问到该节点,然后利用 path.node.property 方法即可。 // the BinaryExpression AST node has properties: `left`, `right`, `operator` BinaryExpression(path) { path.node.left; path.n

  • 这个类别的全部是展示以某些东西为基础来创建 Observables 是多么的容易,因此他们可以和操作符配合的很好,而不在乎是怎样的构造,从而实现丰富的组合。 from 在 RxJS 4中,存在一些类似名称的操作符,例如 fromArray()、from()、fromPromise() 等等。所有这些 fromXXX 的操作符现在全由 from() 接管了。来看一些示例: 老的 fromArray

  • To 将Observable转换为另一个对象或数据结构 ReactiveX的很多语言特定实现都有一种操作符让你可以将Observable或者Observable发射的数据序列转换为另一个对象或数据结构。它们中的一些会阻塞直到Observable终止,然后生成一个等价的对象或数据结构;另一些返回一个发射那个对象或数据结构的Observable。 在某些ReactiveX实现中,还有一个操作符用于将O

  • 主要内容:RxJava 转换操作符 介绍,RxJava 转换操作符 示例RxJava 转换操作符 介绍 以下是用于转换从 Observable 发出的信息的运算符。 运算符 描述 Buffer 定期将 Observable 中的项目收集到包中,然后发出包而不是项目。 FlatMap 用于嵌套的 observable。将项目转换为 Observable。然后将项目展平为单个 Observable。 GroupBy 将一个 Observable 分成按键组织的一组 Obs

  • GraphX中的转换操作主要有mapVertices,mapEdges和mapTriplets三个,它们在Graph文件中定义,在GraphImpl文件中实现。下面分别介绍这三个方法。 1 mapVertices mapVertices用来更新顶点属性。从图的构建那章我们知道,顶点属性保存在边分区中,所以我们需要改变的是边分区中的属性。 override def mapVertices[VD2:

  • C++98标准提供隐式和显式两种构造函数,也就是说,声明为显式形式的构造函数所定义的转换只能用于显式转换,而其他形式的构造函数则用于隐式转换。例如: struct S { S(int); }; // “普通构造函数”默认是隐式转换 S s1(1); // ok, 直接构造 S s2 = 1; // ok, 隐式拷贝构造 void f(S); // 能通过编译(但是经常会产