Я пишу простой сценарий DataFrame в Pyspark, но не могу "псевдоним" dataframe. Что я делаю неправильно.
from pyspark.sql import SparkSession
from pyspark.conf import SparkConf
from pyspark.sql.types import IntegerType,StructType,StructField,StringType,IntegerType
spark = SparkSession.builder.appName('myDFApp').master('local').getOrCreate()
sc = spark.sparkContext
input_data = [('retail', '2017-01-03T13:21:00', 134),
('marketing', '2017-01-03T13:21:00', 100)]
rdd_schema = StructType([StructField('business', StringType(), True), \
StructField('date', StringType(), True), \
StructField("US.sales", IntegerType(), True)])
input_df = spark.createDataFrame(input_data, rdd_schema)
print('Count= ', input_df.count())
# this line below works
df_1 = input_df.select((input_df.business).alias('partnership'))
# this line does not work
df_2 = input_df.alias("s"). \
where(s.date > "2016-01-03")
df_2.show()
Ошибка, которую я получаю:
Count= 2
Traceback (most recent call last):
File "/home/hadoop/opt/inscape/test_dataframe.py", line 22, in <module>
where(s.date > "2016-01-03")
NameError: name 's' is not defined
Что я делаю не так?
Спасибо