INVALID_FUNCTION_ARGUMENT: Invalid format: ""

0

【以下的问题经过翻译处理】 从S3存储桶中,我使用以下语句在Athena中创建了一个表: ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( 'separatorChar' = ';', 'quoteChar' = '"', 'escapeChar' = '' ) LOCATION 's3://' TBLPROPERTIES ('skip.header.line.count'='1');

现在,我正在尝试将所有内容转换为正确的数据类型,例如“日期”。但我遇到了以下错误:INVALID_FUNCTION_ARGUMENT: Invalid format: ""。有时使用双引号,有时使用单引号。我认为这是因为不能有一个“空”日期,所以我正在尝试删除这些空白。但我不知道该如何操作。我已尝试使用-IS NOT NULL,但这并没有起作用。

profile picture
EXPERTE
gefragt vor 5 Monaten49 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 我认为您看到这个错误是因为空字符串''或者""存在,而不是Null值。请理解Null值和空字符串之间的区别。

  • Null是一个未知值,因此没有任何值存在。
  • 空字符串是字符串类型,但它有一个空的值。

据我所知,Null不应占用内存空间,而与空字符串相反。 这可能是为什么IS NOT NULL对您不起作用的原因。因此,请尝试运行一条查询,忽略空字符串而不是Null值。 例如,我有一个名为'test'的表格,在其中一列中存储了一个''(空字符串)。我成功使用以下查询忽略它:

SELECT * FROM test WHERE column1 <> ''

您也可以尝试这样做。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen