如何使用 Spark 上下文?

Posted

技术标签:

【中文标题】如何使用 Spark 上下文?【英文标题】:How can i use Spark Context? 【发布时间】:2019-05-29 13:43:04 【问题描述】:

我将值指定为 sc = pyspark.SparkContext()。它在jupyter笔记本上运行并且没有响应很长时间,因为星号出现并且没有显示任何错误左右。

我试过sc = SparkContext()

import pyspark
import os
from pyspark import SparkContext, SparkConf
sc = pyspark.SparkContext()  # At this part it don't respond
from pyspark.sql import SQLContext
sqlc = SQLContext(sc)

它应该继续。

【问题讨论】:

您使用的是哪个版本的 spark? 我正在使用 pyspark 2.3.4 【参考方案1】:

对于 Python,

from pyspark import SparkContext
sc = SparkContext(appName = "test")

但是由于您正在使用 pyspark 版本 2+,因此您不需要初始化 spark 上下文。您可以创建一个 spark 会话并直接对其进行处理。

从 SPARK 2.0.0 开始,SparkSession 提供了与底层 Spark 功能交互的单一入口点,并允许使用 DataFrame 和 Dataset API 对 Spark 进行编程。 sparkContext 提供的所有功能在 sparkSession 中也可用。

为了使用 SQL、HIVE 和 Streaming 的 API,不需要创建单独的上下文,因为 sparkSession 包含所有 API。

要配置 Spark 会话,

session = SparkSession.builder.getOrCreate()

【讨论】:

如果你使用sparkSession,你不需要单独创建sparkContext、sqlContext,spark session 将作为两者的入口点。 还是一样的问题【参考方案2】:

尝试以下导入:from pyspark import * 之后你可以像这样使用它:

sc = SparkContext()

【讨论】:

Do not do import *. 我该怎么办?

以上是关于如何使用 Spark 上下文?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用配置单元上下文有效地查询 Spark 中的配置单元表?

如何在 spark sql 的配置单元上下文对象中查找已登录/已连接/当前用户?

如何将 JSON 格式的单行 Spark 数据框分解为多行?

如何在 Spark SQL 中缓存和持久化临时表?

pyspark:如何获取 spark 数据帧的 Spark SQLContext?

Spark 2.0 设置罐子