Причина, по которой номера разделов являются значительными, заключается в том, что много лет назад, когда дисковое пространство было больше проблемой, чем сейчас, секции могут быть установлены индивидуально.
Во многих системах только 1 и 8 установлены например. В эти дни люди, как правило, ищут команды на google.
Вам нужно использовать Spark DataFrame в качестве промежуточного шага между вашим RDD и желаемым Pandas DataFrame.
Например, скажем, у меня есть текстовый файл flights.csv
, который был прочитайте в RDD:
flights = sc.textFile('flights.csv')
Вы можете проверить тип:
type(flights)
<class 'pyspark.rdd.RDD'>
Если вы просто используете toPandas()
на RDD, это не сработает. В зависимости от формата объектов в вашем RDD, может потребоваться некоторая обработка, чтобы сначала перейти в Spark DataFrame. В этом примере этот код выполняет задание:
# RDD to Spark DataFrame
sparkDF = flights.map(lambda x: str(x)).map(lambda w: w.split(',')).toDF()
#Spark DataFrame to Pandas DataFrame
pdsDF = sparkDF.toPandas()
Вы можете проверить тип:
type(pdsDF)
<class 'pandas.core.frame.DataFrame'>
Вы можете использовать функцию toPandas()
:
Возвращает содержимое этого DataFrame как Pandas pandas.DataFrame.
Это только доступно, если Pandas установлен и доступен.
blockquote>>>> df.toPandas() age name 0 2 Alice 1 5 Bob
pdsDF = sparkDF.toPandas
отсутствует (), чтобы вызвать метод. Это должно быть:pdsDF = sparkDF.toPandas()
– learn2day 26 June 2017 в 21:17