0

100 万行を超える CSV 抽出 (Oracle データベース テーブルから生成) から Parquet テーブルを作成しようとしています。これらの行の約 25 には START_DATE の null 値があり、CTAS は""として解釈できませんnull。どんな提案でも大歓迎です。

CREATE TABLE dfs.tmp.FOO as
select cast(columns[0] as INT) as `PRODUCT_ID`,
cast(columns[1] as INT) as `LEG_ID`,
columns[2] as `LEG_TYPE`,
to_timestamp(columns[3], 'dd-MMM-yy HH.mm.ss.SSSSSS a') as `START_DATE`
from dfs.`c:\work\prod\data\foo.csv`;



Error: SYSTEM ERROR: IllegalArgumentException: Invalid format ""
4

2 に答える 2

0

CASE空のエントリを除外するステートメントをいつでも含めることができます。

CREATE TABLE dfs.tmp.FOO as
select cast(columns[0] as INT) as `PRODUCT_ID`,
cast(columns[1] as INT) as `LEG_ID`,
columns[2] as `LEG_TYPE`,
CASE WHEN columns[3] = '' THEN null
  ELSE to_timestamp(columns[3], 'dd-MMM-yy HH.mm.ss.SSSSSS a') 
END as `START_DATE`
from dfs.`c:\work\prod\data\foo.csv`;
于 2015-11-25T18:48:55.603 に答える