SqlContext 导入和并行化 Pyspark 中的错误
Posted
技术标签:
【中文标题】SqlContext 导入和并行化 Pyspark 中的错误【英文标题】:Error in SqlContext import and parallelize Pyspark 【发布时间】:2018-03-19 11:29:42 【问题描述】:line = "Hello, world"
sc.parallelize(list(line)).collect()
我得到以下错误
TypeError: parallelize() missing 1 required positional argument: 'c'
从只有一列的字符串列表创建数据框时,我还有一个问题:
from pyspark.sql.types import *
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
schema = StructType([StructField("name", StringType(), True)])
df3 = sqlContext.createDataFrame(fuzzymatchIntro, schema)
df3.printSchema()
我收到以下错误:
----> 3 sqlContext = SQLContext(sc)
AttributeError: type object 'SparkContext' has no attribute '_jsc'
提前谢谢你
【问题讨论】:
你是如何创建sc
的?
from pyspark.context import SparkContext from pyspark.sql.session import SparkSession sc = SparkContext spark = SparkSession.builder.appName("DFTest").getOrCreate()
【参考方案1】:
查看您上面的评论,您似乎以错误的方式初始化sparkContext
,就像您所做的那样
from pyspark.context import SparkContext from pyspark.sql.session import SparkSession sc = SparkContext spark = SparkSession.builder.appName("DFTest").getOrCreate()
正确的做法是
from pyspark.sql.session import SparkSession
spark = SparkSession.builder.appName("DFTest").getOrCreate()
sc = spark.sparkContext
而spark
对象可以做sqlContext
的工作
【讨论】:
以上是关于SqlContext 导入和并行化 Pyspark 中的错误的主要内容,如果未能解决你的问题,请参考以下文章
通过 JDBC 进行并行化 - Pyspark - 并行化如何使用 JDBC 工作?
`pyspark.sql.SparkSession.sql` 和 `SQLContext.read.format()` 有啥区别?