[openspending-dev] [okfn-labs] Data validation reporting
Friedrich Lindenberg
friedrich at pudo.org
Thu Nov 20 16:31:41 UTC 2014
Hey,
> The point is not Node-based ETL or not - you mentioned Python in your post, and I didn’t want to commit to a Python solution (or any language) while we are talking about needs and use cases. Python and Node were mentioned as as they are the most obvious candidates for myself.
Sure, I was just ranting a bit. I guess my use case starts with “As a Python developer, I want to…” ;)
> Can you point me to any examples of Stiivi’s work on “expected result detection” as you describe?
Check out:
https://github.com/Stiivi/brewery/blob/master/examples/audit_unknown_csv.py
https://github.com/Stiivi/brewery/blob/master/brewery/probes.py
Cheers,
- Friedrich
>
> Thanks
>
>> On 20 Nov 2014, at 12:44, Friedrich Lindenberg <friedrich at pudo.org> wrote:
>>
>> Hey,
>>
>>> On 19 Nov 2014, at 19:46, Paul Walsh <paulywalsh at gmail.com> wrote:
>>>> Something I would really need is a stand-alone, light-weight structured logging system for ETL processes in Python.
>>>
>>> That is def. in line with what we are aiming for here - something modular/pluggable rather than something tied to a specific validator. Not sure yet if Python or Node.
>>
>> I struggle to see the point in Node-based ETL: the callbacks thing means it’s easy to just cram all the data down your pipeline at once if you don’t explicitly sequence it; and the programming language and libraries just aren’t good for data processing. No proper handling of dates and time, shitty NLP tools, even file handling is awkward. In short: I want to meet the people who would actually do this. And possibly bring them before the ICC.
>>
>>>> That's the more general version of what we were doing with the UK25k stuff a few years ago, and it would not overlap with CSVLint. Features:
>>>>
>>>> * Be able to log structured data from ETL processes
>>>> * Generate custom, jinja2-based reports from them
>>>> * Have a set of pre-defined gauges to test for stuff like null values, extreme values etc.
>>>> * Have an emailer for certain really nasty events
>>>
>>> By gauges do you mean something beyond a schema, and more like:
>>>
>>> *expect values in col Y to be in range X
>>> * if more than X% of NULL in col Y, do something (warning after validation, etc)
>>>
>>> Let's be explicit here as as it sounds interesting and quite useful for large datasets.
>>
>> Yep, that sort of stuff. It’s a notion that Stiivi had been exploring in earlier versions of this ETL framework, and it seems really cool to me.
>>
>> - Friedrich
>
More information about the openspending-dev
mailing list