提问者:小点点

spark.createDataFrame()vs sqlContext.createDataFrame()[复制]


有人能给我解释一下spark之间的区别吗。createDataFrame()和sqlContext。createDataFrame()?我见过这两种用法,但不了解确切的区别或何时使用。


共1个答案

匿名用户

我假设您使用的是版本超过2的Spark,因为在第一种方法中,您似乎指的是仅在版本2之后可用的Spark会话

>

  • <代码>火花。createDataFrame(…)是在spark 2中创建df的首选方法。请参阅链接文档以查看可能的用法,因为它是一个重载方法。

    sqlContext.createDataFrame(...)(火花版本-1.6)是在火花1. x中创建df的常用方法。正如您可以在链接的留档中阅读的那样,它在火花2. x中被弃用,并且仅为向后兼容而保留

    Spark 1中使用结构化数据(行和列)的入口点。十、

    从Spark 2.0开始,这将被SparkSession取代。然而,为了向后兼容,我们将类保留在这里。

    因此,为了回答您的问题,您可以在Spark 2. x中同时使用两种方式(尽管第二种方式已被弃用,因此强烈建议使用第一种方式),并且您只能使用第二种方式,前提是您被Spark 1. x卡住了

    编辑:SparkSession实现(即源代码)和SQLContext实现