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
专家
已提问 6 个月前51 查看次数
1 回答
0

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

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

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

SELECT * FROM test WHERE column1 <> ''

您也可以尝试这样做。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则