AVROファイル形式とHive外部表を使用してデータにアクセスするために、いくつかのOracle表をHadoopに保管しました。
私はインポート時にOracleのTO_CHAR
関数を使用して、書式設定されたStringとしてDateおよびTimestampの値を格納しました。日付/タイムスタンプ文字列をOracle DBの日付タイムスタンプ列に書き込む方法は?
ここで、この正確なデータをSparkで日付列を持つOracleテーブルにエクスポートしたいとします。私は、次のコマンドを使用します。
// Create a data frame from the Hive table
val data = sqlContext.sql("select * from avro_table")
// export df to existing oracle table
data.write.mode("overwrite").jdbc(jdbcString, "tableName", prop)
しかし、その後、私はエラーを取得:
ORA-00902: invalid data type
それが日付列に文字列を挿入しようとするためです。 SparkデータフレームからOracle日付/タイムスタンプ列に日付/タイムスタンプ文字列を挿入する安全な方法はありますか?安全であれば、タイムゾーン情報を失うことはありません。
あなたはdata.printSchema'とあなたの質問ではOracleで日付列の形式は、それが完全にするので、答えは「良く得ることができる '含めることができます"? –