SparkSQLリファレンス第四部、関数編・日付・時刻関数です。
日付・時刻関数
data_addなど日付・時刻型関連の関数です。
関数 | 内容 | ver. |
---|---|---|
add_months |
add_months(startDate: Column, numMonths: Int) startDate に numMonths を加算した日付を返します。 sql: select ( startDate, numMonths ) from ... DataFrame: df.select( ( $"startDate", $"numMonths" ) ) 例) startDate = “2015-10-31 01:20:50”, numMonths = 1の場合、”2015-11-30 01:20:50″が返ります。 |
1.5.0 |
current_date |
current_date() 現在日付をDate型で返します。 sql: select current_date() from ... DataFrame: df.select( current_date() ) |
1.5.0 |
current_timestamp |
current_timestamp() 現在時刻をタイムスタンプ型で返します。 sql: select current_timestamp() from ... DataFrame: df.select( current_timestamp() ) |
1.5.0 |
date_format |
date_format(dateExpr: Column, format: String) Date型、Timestamp型、String型を日付形式にフォーマットした文字列を返します。 書式はjava.text.SimpleDateFormatに従います。 sql: select date_format( dateExpr, format ) from ... DataFrame: df.select( date_format( $"dateExpr", $"format" ) ) 例) dateExpr = “2015-10-31 01:20:50”, format = “yyyy/MM/dd HH:mm:ss”の場合、”2015/10/31 01:20:50″が返ります。 |
1.5.0 |
date_add |
date_add(start: Column, days: Int) 日付をstartに加算した日にちを返します。 sql: select date_add( start, days ) from ... DataFrame: df.select( date_add( $"start", $"days" ) ) 例) start = “2015-10-31 01:20:50”, days = 2の場合、”2015-11-03 01:20:50″が返ります。 |
1.5.0 |
date_sub |
date_sub(start: Column, days: Int) 日付をstartから減算した日にちを返します。 sql: select date_sub( start, days ) from ... DataFrame: df.select( date_sub( $"start", $"days" ) ) 例) start = “2015-10-31 01:20:50”, days = 2の場合、”2015-10-29 01:20:50″が返ります。 |
1.5.0 |
datediff |
datediff(end: Column, start: Column) startからendまでの日数を返します。 sql: select datediff( end, start ) from ... DataFrame: df.select( datediff( $"end", $"start" ) ) 例) start = “2015-10-31”, end = “2015-11-10″の場合、10が返ります。 |
1.5.0 |
year |
year(e: Column) Date型、Timestamp型、String型から年を抽出し、Integer型で返します。 sql: select year( e ) from ... DataFrame: df.select( year( $"e" ) ) 例) e = “2015-10-31″の場合、2015が返ります。 |
1.5.0 |
quarter |
quarter(e: Column) Date型、Timestamp型、String型から4半期を抽出し、Integer型で返します。 sql: select quarter( e ) from ... DataFrame: df.select( quarter( $"e" ) ) 例) e = “2015-10-31″の場合、4が返ります。 |
1.5.0 |
month |
month(e: Column) Date型、Timestamp型、String型から月を抽出し、Integer型で返します。 sql: select month( e ) from ... DataFrame: df.select( month( $"e" ) ) 例) e = “2015-10-31″の場合、10が返ります。 |
1.5.0 |
dayofmonth |
dayofmonth(e: Column) Date型、Timestamp型、String型から日付がその月の何日目かを抽出し、Integer型で返します。 つまり、日を抽出して返す形になります。 sql: select dayofmonth( e ) from ... DataFrame: df.select( dayofmonth( $"e" ) ) 例) e = “2015-10-31″の場合、31が返ります。 |
1.5.0 |
dayofyear |
dayofyear(e: Column) Date型、Timestamp型、String型から日付がその年の何日目かを抽出し、Integer型で返します。 sql: select dayofyear( e ) from ... DataFrame: df.select( dayofyear( $"e" ) ) 例) e = “2015-12-31″の場合、365が返ります。 |
1.5.0 |
hour |
hour(e: Column) Date型、Timestamp型、String型から時刻を抽出し、Integer型で返します。 sql: select hour( e ) from ... DataFrame: df.select( hour( $"e" ) ) 例) e = “2015-10-31 16:30:00″の場合、16が返ります。 |
1.5.0 |
last_day |
last_day(e: Column) 指定された日付の月の最終日を返します。 sql: select last_day( e ) from ... DataFrame: df.select( last_day( $"e" ) ) 例) e = “2015-07-27″の場合、”2015-07-31″が返ります。 |
1.5.0 |
minute |
minute(e: Column) Date型、Timestamp型、String型から分を抽出し、Integer型で返します。 sql: select minute( e ) from ... DataFrame: df.select( minute( $"e" ) ) 例) e = “2015-10-31 16:30:00″の場合、30が返ります。 |
1.5.0 |
months_between |
months_between(date1: Column, date2: Column) date1とdate2の間の月数を返します。 sql: select months_between( date1, date2 ) from ... DataFrame: df.select( months_between( $"date1", $"date2" ) ) 例) date1 = “2015-09-02”, date2 = “2015-08-01″の場合、1.032258065( =1+(1/31) )が返ります。 |
1.5.0 |
next_day |
next_day(date: Column, dayOfWeek: String) 指定された日付以降で指定された曜日のうち最初の日を返します。 dayOfWeekに指定できるのは “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun” のいずれかです。 sql: select next_day( date, dayOfWeek ) from ... DataFrame: df.select( next_day( $"date", $"dayOfWeek" ) ) 例) date = “2015-10-31”, dayOfWeek = “Sunday” の場合、”2015-11-01″が返ります。 |
1.5.0 |
second |
second(e: Column) Date型、Timestamp型、String型から秒を抽出し、Integer型で返します。 sql: select second( e ) from ... DataFrame: df.select( second( $"e" ) ) 例) e = “2015-10-31 16:30:00″の場合、0が返ります。 |
1.5.0 |
weekofyear |
weekofyear(e: Column) Date型、Timestamp型、String型から週数を抽出し、Integer型で返します。 sql: select weekofyear( e ) from ... DataFrame: df.select( weekofyear( $"e" ) ) 例) e = “2015-02-10″の場合、7が返ります。 |
1.5.0 |
from_unixtime |
from_unixtime(ut: Column) from_unixtime(ut: Column, f: String) 指定されたUNIX時刻(1970-01-01 00:00:00 UTC)からの経過秒を文字列に変換して返します。 第2引数にフォーマットを渡すこともできます。 省略された場合は”yyyy-MM-dd HH:mm:ss”が使用されます。 sql: select from_unixtime( e ) from ... DataFrame: df.select( from_unixtime( $"e" ) ) 例) e = “1329568603”の場合、”2012-02-18 21:36:43″が返ります。 |
1.5.0 |
unix_timestamp |
unix_timestamp() unix_timestamp(s: Column) unix_timestamp(s: Column, p: String) 引数が指定されない場合、現在のUNIX時刻が返ります。 引数が指定された場合は、”yyyy-MM-dd HH:mm:ss”形式の文字列をUNIX時刻に変換して返します。 sql: select unix_timestamp( s ) from ... DataFrame: df.select( unix_timestamp( $"s") ) 例) s = “2012-02-18 21:36:43″の場合、1329568603 が返ります。 |
1.5.0 |
to_date |
to_date(e: Column) 日付型に変換します。 sql: select to_date( e ) from ... DataFrame: df.select( to_date( $"e" ) ) |
1.5.0 |
trunc |
trunc(date: Column, format: String) 指定された単位で切り捨てを行った日付を返します。 formatに ‘year’, ‘yyyy’, ‘yy’ が指定された場合は、年単位で切り捨てます。 formatに ‘month’, ‘mon’, ‘mm’ が指定された場合は、月単位で切り捨てます。 sql: select trunc( date, format ) from ... DataFrame: df.select( trunc( $"date", $"format" ) ) 例) date = “2015-10-31 16:30:00”, format = “year” の場合、”2015-01-01 00:00:00″が返ります。 |
1.5.0 |
from_utc_timestamp |
from_utc_timestamp(ts: Column, tz: String) UTCのタイムスタンプをtzで指定されたタイムゾーンに変換して返します。 sql: select from_utc_timestamp ( ts, tz ) from ... DataFrame: df.select( from_utc_timestamp( $"ts", $"tz" ) ) 例) ts = “2015-10-31 07:30:00”, tz = “JST” の場合、”2015-10-31 16:30:00″が返ります。 |
1.5.0 |
to_utc_timestamp |
to_utc_timestamp(ts: Column, tz: String) 指定されたタイムゾーンのタイムスタンプをUTCに変換して返します。 sql: select to_utc_timestamp( ts, tz ) from ... DataFrame: df.select( to_utc_timestamp( $"ts", $"tz" ) ) 例) ts = “2015-10-31 16:30:00”, tz = “JST” の場合、”2015-10-31 07:30:00″が返ります。 |
1.5.0 |
構文
演算子
関数
宜しければこちらの動画もどうぞー
Apache Spark part5 Zeppelinを使ってデータ分析の初歩
https://www.youtube.com/watch?v=TUQESh3NUlc
Apache Spark part6 Zeppelinで機械学習
https://www.youtube.com/watch?v=moZ9WeNsWgY
リクルートのポンパレデータを使って最小二乗法による回帰分析を行っています。