Pyspark의col 함수에 대한 매개 변수

8686 단어 sparkpysparktech

모티프


col("columnName")이 지정한 columnName의 뜻을 몰라서 확인했습니다.
https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.functions.col.html

결실


다음 링크에서처럼 col("column Name")로 지정된 경우 DataFrame과 연관된 col이 없는 상태입니다.(A generic column no yet associated with a DataFrame.)
https://spark.apache.org/docs/2.0.0/api/java/org/apache/spark/sql/Column.html
따라서 Withcolumn 메소드 등 매개변수에 사용된 경우 DataFrame과 처음으로 연관되어 DataFrame의 해당 열을 받습니다.
또한 DataFrame의 열 이름에서 col의 열 이름을 찾을 수 없는 경우 Analysis Exception: cannot resolve'colname'given input columns:
되다
3
from pyspark.sql.functions import col

df = df.withColumn('new_column_name', col("columnName"))
또한 잡담이지만 소양이 있는 Column 대상을 생성한 경우lit 함수를 사용한다.
https://spark.apache.org/docs/3.1.1/api/python/reference/api/pyspark.sql.functions.lit.html
from pyspark.sql.functions import lit

data = [('Alice', 13,),('Bob',17),('Taro',25)]
df = spark.createDataFrame(data,['name', 'age'])
df.show()

df = df.withColumn('newcol',lit('hoge'))
df.show()

+-----+---+
| name|age|
+-----+---+
|Alice| 13|
|  Bob| 17|
| Taro| 25|
+-----+---+

+-----+---+------+
| name|age|newcol|
+-----+---+------+
|Alice| 13|  hoge|
|  Bob| 17|  hoge|
| Taro| 25|  hoge|
+-----+---+------+

좋은 웹페이지 즐겨찾기