gpt4 book ai didi

datetime - 加载日期时间字段在 pig latin 0.12 中不起作用

转载 作者:可可西里 更新时间:2023-11-01 16:59:44 29 4
gpt4 key购买 nike

我使用的是 pig 0.12,这里的文档说它支持 datetime 数据类型

http://pig.apache.org/docs/r0.12.0/basic.html#data-types

但是下面的 LOAD 语句在第一个字段上给我一个 UnsupportedOperationException。 hdfs 位置包含制表符分隔的文件,第一个字段采用 YYYY-mm-DD 格式。

rsa = LOAD '/mypath/*' USING PigStorage() as (
hit_date:datetime,
agency_id:long,
agency_name:chararray,
....
);

错误 2999:意外的内部错误。空

java.lang.UnsupportedOperationException异常 在 parquet.pig.PigSchemaConverter.convertWithName(PigSchemaConverter.java:273) 在 parquet.pig.PigSchemaConverter.convert(PigSchemaConverter.java:248) 在 parquet.pig.PigSchemaConverter.convert(PigSchemaConverter.java:285) 在 parquet.pig.PigSchemaConverter.convertTypes(PigSchemaConverter.java:241) 在 parquet.pig.PigSchemaConverter.convert(PigSchemaConverter.java:234) 在 parquet.pig.TupleWriteSupport.(TupleWriteSupport.java:63) 在 parquet.pig.ParquetStorer.getOutputFormat(ParquetStorer.java:103) 在 org.apache.pig.newplan.logical.rules.InputOutputFileValidator$InputOutputFileVisitor.visit(InputOutputFileValidator.java:80)

最佳答案

检查您共享的文档链接中数据类型下方的注释部分。上面写着 -

日期时间字段没有原生常量类型。您可以使用带有 chararray 常量的 ToDate udf 作为参数来生成日期时间值。

rsa = load '/mypath/*' as (
inDateChar:chararray,
agency_id:long,
agency_name:chararray,
....
);
convertDate = foreach rsa generate ToDate(inDateChar, 'yyyy-MM-dd') as (inDateDT:datetime);

ToDate 使用 SimpleDateFormat。[ http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html]

关于datetime - 加载日期时间字段在 pig latin 0.12 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25768044/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com