当前位置: 首页 > 面试题库 >

SparkContext,JavaSparkContext,SQLContext和SparkSession之间的区别?

汪飞捷
2023-03-14
问题内容
  1. SparkContext, JavaSparkContext, SQLContext和之间有什么区别SparkSession
  2. 是否有使用转换或创建Context的方法SparkSession
  3. 我可以使用一个条目完全替换所有上下文SparkSession吗?
  4. 在所有的功能SQLContextSparkContextJavaSparkContextSparkSession
  5. 某些功能parallelizeSparkContext和中具有不同的行为JavaSparkContext。他们的行为如何SparkSession
  6. 如何使用SparkSession?创建以下内容?

    • RDD
    • JavaRDD
    • JavaPairRDD
    • Dataset

有没有一种方法可以将a JavaPairRDD转换为a Dataset或a Dataset转换为a JavaPairRDD


问题答案:

sparkContext是Scala实现的入口点,JavaSparkContext是的Java包装器sparkContext

SQLContext是SparkSQL的入口点,可以从sparkContext2.xx 接收.RDD,DataFrame和Data-
set是三个不同的数据抽象。自Spark 2.xx起,所有三个数据抽象是统一的, SparkSession是Spark的统一入口点。

另外需要注意的是,RDD用于非结构化数据,强类型数据,而DataFrames用于结构化和松散类型数据。你可以检查

是否有任何方法可以使用Sparksession转换或创建Context?

是。它sparkSession.sparkContext()和SQL,sparkSession.sqlContext()

我可以使用一个条目SparkSession完全替换所有Context吗?

是。您可以从sparkSession获取相应的顶点。

是否在SparkSession中添加了SQLContext,SparkContext,JavaSparkContext等中的所有功能

不直接。您需要获取各自的上下文并加以利用。

如何在SparkSession中使用这样的功能

获取各自的上下文并加以利用。

如何使用SparkSession创建以下内容?

  1. 可以从创建RDD sparkSession.sparkContext.parallelize(???)
  2. JavaRDD同样适用于此,但在Java实现中
  3. Java对RDD sparkSession.sparkContext.parallelize(???).map(//making your data as key-value pair here is one way)
  4. 如果是结构化数据,sparkSession返回的数据集就是数据集。


 类似资料:
  • 我正在运行spark批处理作业,并使用,因为我需要在每个组件中处理许多spark sql功能。在父组件中初始化,并作为传递给子组件。 在我的一个子组件中,我想在我的中再添加两个配置。因此,我需要从中检索,停止它并用附加配置重新创建。要做到这一点,我如何从Spark会话检索SparkContext?

  • 我试图加载一个列表到一个数据框作为我的测试的一部分使用函数,但问题是我无法创建/检索。因此,我不能使用方法。但是,我可以创建一个。 是否有任何方法可以从获取,或者除了方法之外,还有其他方法可以将列表加载到数据帧中?

  • 问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:

  • 问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。