雖然在Python學習星火,我無法理解這兩個alias
方法及其使用的目的。該documentation顯示它被用來創建新名稱現有DataFrame
的副本,然後它們連接在一起:PySpark中別名方法的用途是什麼?
>>> from pyspark.sql.functions import *
>>> df_as1 = df.alias("df_as1")
>>> df_as2 = df.alias("df_as2")
>>> joined_df = df_as1.join(df_as2, col("df_as1.name") == col("df_as2.name"), 'inner')
>>> joined_df.select("df_as1.name", "df_as2.name", "df_as2.age").collect()
[Row(name=u'Bob', name=u'Bob', age=5), Row(name=u'Alice', name=u'Alice', age=2)]
我的問題有兩個部分:
什麼
alias
輸入的目的?這似乎是多餘的給別名串"df_as1"
當我們已經指派新的數據框的變量df_as1
。如果我們想改用df_as1 = df.alias("new_df")
,那麼"new_df"
會出現在哪裏?一般來說,當是
alias
功能有用嗎?上面的例子有點人爲,但從探索教程和例子看起來經常使用 - 我只是不清楚它提供了什麼價值。
編輯:一些我原來混亂的事實來了,無論DataFrame
和Column
有alias
方法。儘管如此,我仍然對上述兩個問題都很好奇,問題2現在也適用於Column.alias
。