我尝试使用pig从hdfs读取数据,其中文件包含如下行:
"key1"="value1", "key2"="value2", "key3"="value3"
"key1"="value10", "key3"="value30"
在某种程度上,数据行本质上是字典:
{"key1":"value1", "key2":"value2", "key3":"value3"}
{"key1":"value10", "key3":"value30"}
我可以很容易地读取和转储部分数据,例如:
data = LOAD '/hdfslocation/weirdformat*' as PigStorage(',');
sampled = SAMPLE data 0.00001;
dump sampled;
我的问题是我不能有效地解析它。我试过使用
org.apache.pig.piggybank.storage.MyRegExLoader
但是它看起来非常慢。
有人能推荐一种不同的方法吗?
1条答案
按热度按时间vojdkbi01#
似乎有一种方法是使用python自定义项。这个解决方案从包到元组都受到了很大的启发
在
myudfs.py
写:然后编写以下pig脚本: