如何使用 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 doimport *
.
我该怎么办?以上是关于如何使用 Spark 上下文?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用配置单元上下文有效地查询 Spark 中的配置单元表?
如何在 spark sql 的配置单元上下文对象中查找已登录/已连接/当前用户?
如何将 JSON 格式的单行 Spark 数据框分解为多行?