如何验证pig中的数据类型?

Posted

技术标签:

【中文标题】如何验证pig中的数据类型?【英文标题】:How to validate data types in pig? 【发布时间】:2016-11-04 11:55:12 【问题描述】:

我一直在尝试验证通过 pig 从平面文件中获取的数据的数据类型。

一个简单的 CAT 就可以解决问题,但平面文件很大,而且有时包含特殊字符。

我需要从文件中过滤掉包含特殊字符的记录,并且当数据类型不是int 时。 有没有办法在猪身上做到这一点? 我正在尝试在这里找到 getType().getName() 的 java 用法的替代品。

执行架构和使用 Describe 是我们在加载数据然后删除未匹配项时所做的事情,但在不执行架构的情况下仍然存在。

任何建议都会有所帮助。

【问题讨论】:

【参考方案1】:

将数据加载到一行:charraray,并使用正则表达式过滤掉包含数字以外字符的记录

A = LOAD 'data.txt' AS (line:chararray);
B = FILTER A BY (line matches '\\d+$'); -- Change according to your needs.
DUMP B;

【讨论】:

以上是关于如何验证pig中的数据类型?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查猪 UDF 中的数据类型

Apache Pig:在 Pig 中处理数据类型时面临问题

如何在 PIG 脚本中从数据包中读取数据

Pig的Python UDF:数据类型转换错误

PIG 加载 CSV - 地图类型错误

Pig的安装和简单实用