2017-05-18 5 views
2

나는 다음과 같은 dataframe 변경하려면 다음 dataframe에수정 스파크 DataFrame 열

--id--rating--timestamp-- 
------------------------- 
| 0 | 5.0 | 231312231 | 
| 1 | 3.0 | 192312311 | #Epoch time (seconds from 1 Thursday, 1 January 1970) 
------------------------- 

:

--id--rating--timestamp-- 
-------------------------- 
| 0 | 5.0 | 05  | 
| 1 | 3.0 | 04  | #Month of year 
-------------------------- 

내가 어떻게 할 수 있습니까?

답변

3

새로운 DataFrame를 만들 수는 있지만 변경할 수 있도록 그것은, DataFrames는 불변한다는 내장 함수

import org.apache.spark.sql.functions._; 
import spark.implicits._ 
val newDF = dataset.withColumn("timestamp", month(from_unixtime('timestamp))); 

주를 사용하여 간단합니다. 물론이 데이터 집합을 동일한 변수에 할당 할 수 있습니다.

는 는 는

주 수 2 : DataFrame = 데이터 세트 [행], 나는 두 이름을 사용하는 이유는 스칼라에서 오는 경우 Dataframe.select 또는 Dataframe.withClumn 방법 내부 sql.functions 방법을 사용할 수 있습니다

1

그건, 귀하의 경우에 나는 방법을 생각 month(e: Column): Column 원하는 변경을 수행 할 수 있습니다.

import org.apache.spark.sql.functions.month 
df.withColumn("timestamp", month("timestamp") as "month") 

내가 Java, PythonR

에 상응하는 방법이 있다고 생각합니까 : 그런 일이 될 것입니다