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

pyspark中StaticDataFrame和静态DataFrame的区别

施华奥
2023-03-14

我在阅读Spark 2.2.0文档时发现了对静态数据帧的奇怪引用https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#api-使用数据集和数据帧

自Spark 2.0以来,数据帧和数据集可以表示静态的有界数据,也可以表示流式的无界数据。与静态数据集/数据帧类似,您可以使用公共入口点SparkSession(Scala/Java/Python/R文档)从流源创建流数据帧/数据集,并对其应用与静态数据帧/数据集相同的操作。

这尤其令人困惑,因为有一个数据集的概念(我把它理解为静态类型的数据帧)和静态数据帧,而一个数据集在我的脑海中似乎是重叠的。

Spark 2.2.0中的静态数据帧、常规数据帧和数据集之间有什么区别?差异是否是由于流式/非流式数据造成的?这是因为静态/动态类型的语言吗?

共有1个答案

麻宾白
2023-03-14

Spark 2.2.0中的静态数据帧与常规数据帧和数据集有什么区别?差异是否是由于流式/非流式数据造成的?

好吧,让我们重新构造报价:

从Spark 2.0开始,DataFrames和Datasets可以表示静态、有界数据,

换言之,数据由读取(DataFrameReader)加载:

>>> spark.read.text(path).isStreaming
False

以及流式、无边界的数据。

换言之,使用readStream加载的数据(DataStreamReader):

>>> spark.readStream.text(path).isStreaming
True

静态键入与此无关。

总结:

>

  • 火花1。x:

    • DataFrame具有静态源。

    火花2. x

    • DataFrame静态源又名SparkSQL
    • DataFrame具有动态(流)源,即结构化流。

    API大多重叠,因此SQL与Strct. Stream.的区别相当模糊。

  •  类似资料:
    • 问题内容: 我找到了一个代码,它声明了如下代码 它们之间有什么区别或相同?还是与或不同? 问题答案: 完全没有区别。根据 Java语言规范的8.3.1-类-字段修饰符, 如果两个或多个(不同的)字段修饰符出现在字段声明中,则按惯例(尽管不是必需的),它们的出现顺序与上面FieldModifier生产中所示的顺序一致。 对于字段,所述生产按以下顺序列出修饰符: 对于方法:

    • 本文向大家介绍浅析C#中静态方法和非静态方法的区别,包括了浅析C#中静态方法和非静态方法的区别的使用技巧和注意事项,需要的朋友参考一下 静态方法和非静态方法的区别:   1.静态方法不需要类实例化就可以调用,反之非静态方法需要实例化后才能调用;   2.静态方法只能访问静态成员和方法,非静态方法都可以访问;   3.静态方法不能标记为override,导致派生类不能重写,但是可以访问;   4.静

    • 假设我在Spark上有两个数据帧 现在,我想通过多个列(任何大于1的数字)连接它们 我拥有的是第一个数据帧的列数组和第二个数据帧中的列数组,这些数组具有相同的大小,我希望通过这些数组中指定的列进行连接。例如: 因为这些数组大小可变,所以我不能使用这种方法: 是否有任何方法可以动态连接多个列?

    • 问题内容: 谁能提供一个简单的示例来说明Java中动态和静态多态性之间的区别? 问题答案: 多态性 1.静态绑定/编译时绑定/早期绑定/方法重载。(在同一类中) 2.动态绑定/运行时绑定/后期绑定/方法重写(在不同的类中) 重载示例: 首要示例:

    • 本文向大家介绍静态和动态网页之间的区别,包括了静态和动态网页之间的区别的使用技巧和注意事项,需要的朋友参考一下 在互联网冲浪的背景下,网络浏览器(客户端)和网络服务器(服务器)之间存在两方通信。现在,为了规范这种通信,有一些协议(其中最常见的是HTTP协议)允许浏览器在其中进行通信向服务器发送HTTP请求,然后服务器将HTTP响应发送到浏览器。 现在,根据发送到浏览器的响应类型,我们可以将该响应分

    • 本文向大家介绍静态和动态测试之间的区别,包括了静态和动态测试之间的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,测试是任何应用程序或软件交付过程中最重要的阶段,因为测试不仅可以验证应用程序的质量,还可以为开发人员提供改进其产品的机会。 每个应用程序都以某种高级或低级语言进行开发,这意味着已经为其开发编写了一些代码,因此,在为应用程序编写的代码执行的基础上,存在测试的分类,即静态测试和动态