【发布时间】:2022-01-18 21:00:27
【问题描述】:
我一直在使用 Pyspark(我在我的机器上本地设置)来查询一个大型数据集,到目前为止效果很好。但是,我想为一些数据创建熊猫数据框。
SummaryStatList = []
for i in dataColumns:
SummaryStatList.append(df.groupby('Status').agg(func.min(df[i]).alias(i + ' Min'),
func.max(df[i]).alias(i + ' Max'),
func.mean(df[i]).alias(i + ' Mean'),
func.stddev(df[i]).alias(i + ' Variance'),
func.percentile_approx(i,0.5).alias(i + ' Median')))
dfSummaryStat = pd.DataFrame(SummaryStatList)
但是在创建 pandas 数据框时出现此错误:
raceback (most recent call last):
File "f:\Homework\UniCS\CS Year 3\Big Data\.env_BigData\BigDataAssingment.py", line 6, in <module>
from pyspark.sql.pandas._typing import PandasDataFrame
ImportError: cannot import name 'PandasDataFrame' from 'pyspark.sql.pandas._typing' (unknown location)
这些是导入的库:
import os
import findspark
import pandas as pd
import matplotlib
from pandas.core.frame import DataFrame
from pyspark.sql.pandas._typing import PandasDataFrame
import seaborn
import numpy as np
import sklearn
from pyspark.ml.feature import Imputer
from pyspark import SparkContext
from pyspark.sql import SQLContext
sc = SparkContext("local", "Big Data Assignment")
sql = SQLContext(sc)
import pyspark.sql.functions as func
import pyspark
from pyspark.sql import SparkSession
现在出现这个错误:
f:\Homework\UniCS\CS Year 3\Big Data\.env_BigData\lib\site-packages\pyspark\sql\context.py:77: FutureWarning: Deprecated in 3.0.0. Use SparkSession.builder.getOrCreate() instead.
warnings.warn(
Traceback (most recent call last):
File "f:\Homework\UniCS\CS Year 3\Big Data\.env_BigData\lib\site-packages\findspark.py", line 143, in init
py4j = glob(os.path.join(spark_python, "lib", "py4j-*.zip"))[0]
IndexError: list index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "f:\Homework\UniCS\CS Year 3\Big Data\.env_BigData\BigDataAssingment.py", line 20, in <module>
findspark.init()
File "f:\Homework\UniCS\CS Year 3\Big Data\.env_BigData\lib\site-packages\findspark.py", line 145, in init
raise Exception(
Exception: Unable to find py4j, your SPARK_HOME may not be configured correctly
不知道为什么,因为它以前有效?
【问题讨论】:
-
如果你删除这一行会发生什么,
from pyspark.sql.pandas._typing import PandasDataFrame并执行import pandas as pd -
@anarchy 我只是使用 import pandas as pd。所以不知道它在说什么。
-
当你删除我提到的那一行时会发生什么??
-
@anarchy 是的,我认为现在可行,我又遇到了另一个错误,哈哈
-
请告诉我新的错误
标签: python pandas apache-spark pyspark