gpt4 book ai didi

python - 分析异常 : u"cannot resolve 'name' given input columns: [ list] in sqlContext in spark

转载 作者:太空狗 更新时间:2023-10-29 18:07:03 25 4
gpt4 key购买 nike

我尝试了一个简单的例子:

data = sqlContext.read.format("csv").option("header", "true").option("inferSchema", "true").load("/databricks-datasets/samples/population-vs-price/data_geo.csv")

data.cache() # Cache data for faster reuse
data = data.dropna() # drop rows with missing values
data = data.select("2014 Population estimate", "2015 median sales price").map(lambda r: LabeledPoint(r[1], [r[0]])).toDF()

效果很好,但是当我尝试类似的东西时:

data = sqlContext.read.format("csv").option("header", "true").option("inferSchema", "true").load('/mnt/%s/OnlineNewsTrainingAndValidation.csv' % MOUNT_NAME)

data.cache() # Cache data for faster reuse
data = data.dropna() # drop rows with missing values
data = data.select("timedelta", "shares").map(lambda r: LabeledPoint(r[1], [r[0]])).toDF()
display(data)

它引发错误:AnalysisException:您“无法解析给定输入列的‘timedelta’:[data_channel_is_tech,...

我导入了 LabeledPoint 和 LinearRegression

有什么问题吗?

即使是更简单的情况

df_cleaned = df_cleaned.select("shares")

引发相同的 AnalysisException(错误)。

*请注意:df_cleaned.printSchema() 运行良好。

最佳答案

我发现了问题:一些列名在名称本身之前包含空格。所以

data = data.select(" timedelta", " shares").map(lambda r: LabeledPoint(r[1], [r[0]])).toDF()

成功了。我可以使用

捕捉空白
assert " " not in ''.join(df.columns)  

现在我在想办法去掉空格。非常感谢任何想法!

关于python - 分析异常 : u"cannot resolve 'name' given input columns: [ list] in sqlContext in spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39016440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com