有人能给我解释一下spark之间的区别吗。createDataFrame()和sqlContext。createDataFrame()?我见过这两种用法,但不了解确切的区别或何时使用。
我假设您使用的是版本超过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
实现