私は自分のデータフレームにタイムスタンプを追加し、それらをハイブに保持しようとしています。current_timestamp()の値をscalaの文字列に変換する方法
しかし、ここに問題があります:ハイブバージョン0.13でタイムスタンプをデータ型として使用できないため、タイムスタンプデータ型のcurrent_timestamp()
を文字列に変換して、ハイブテーブルに読み込むことができます。ここで
は私のタイムスタンプ列です:
[2017-01-12 12:55:55.278] [2017-01-12 12:55:55.278] [2017-01-12 12:55:55.278] [2017-01-12 12:55:55.278] [2017-01-12 12:55:55.278]
私はこれを試してみましたが、運としている:
val ts = current_timestamp()
val df:SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")
val date:String = df.format(ts.toLong)
Scalaで文字列にタイムスタンプを変換する方法を?
インポートjava.util.Date インポートjava.text.SimpleDateFormatの ヴァル形式=新しいjava.text.SimpleDateFormatの( "YYYY-MM-DD") ヴァルTS = format.format(新しいjava.util.Date( )) インポートorg.apache.spark.sql.functions._ヴァルAppendDF = myDF.withColumn( "timestamp_val"、TS) が見出さコンパイル中:文字列 [エラー]必須:org.apache.spark.sql .Column [エラー] val AppendDF = myDF.withColumn( "timestamp_val"、ts) [エラー] –
java.lang.IllegalArgumentException:与えられたオブジェクトを日付としてフォーマットできません。 with code.format(current_timestamp()) –
このコードは質問に答えるかもしれませんが、問題の内容とコードがどのように問題に取り組むかを記述することをお勧めします。将来的には、いくつかの情報、[すばらしい答えを解く方法](http://stackoverflow.com/help/how-to-answer)on Stack Overflowを参照してください。 – dirtydanee