Som použite nasledujúci kód:
random = [("ABC",xx, 1),
("DEF",yy,1),
("GHI",zz, 0)
]
randomColumns = ["name","id", "male"]
randomDF = spark.createDataFrame(data=random, schema = randomColumns)
test_df = randomDF.select("name", "id")
test_df.filter(f.col("male") == '1').show()
Z uvedeného kódu som sa očakávať, že to mať za následok chybu, pretože na test_df i dont vyberte muž stĺpec z pôvodného dataframe. Prekvapivo uvedenú požiadavku beží v pohode bez akejkoľvek chyby a výstupy takto:
+---------+-------+
|name | id|
+---------+-------+
| abc| xx|
| def| yy|
+---------+-------+
Chcem pochopiť logiku za to, čo sa iskra je robiť. Podľa iskra dokumentácie Vyberte vráti nový dataframe. Potom prečo je stále možné používať mužské stĺpec od materskej dataframe.