项目作者: GetLinkfire

项目描述 :
Public test assignment for Python Engineers. A small exercise to solve for applicants
高级语言:
项目地址: git://github.com/GetLinkfire/python_engineer_task.git
创建时间: 2019-05-24T13:14:11Z
项目社区:https://github.com/GetLinkfire/python_engineer_task

开源协议:

下载


Python Engineer Exercise

Welcome! We have prepared a little exercise for you.

The task is to build a miniature data pipeline: In lack of a streaming source,
pull the sample data set via https,
do some simplified validation, transformation, and splitting of the data, and write the output to disk.

In more detail, the program should do the following, not necessarily in that order:

  • Fetch our zipped line-json file with sample data from here.
  • Output (not gzipped) line-json files again.
  • Process one line at a time, pretending that you’re processing a stream.
  • Whenever there is a convvalue, use the rates.json and convvalueunit to convert the value to USD. Write that value to a new field convusdvalue.
  • Split records by values in the type field and create one output file for each type.
  • Validate that the linkid is a valid UUID, using the standard library. Invalid records must go to their own output file, e.g. “deadletters.json”.