Python + spark to parse and save logs
With your first file, parser.py:


Because the Info class' __init__ method requires the three arguments: a, j, and z, which it then attributes to itself, you can remove the class attributes of the same name, as they become superfluous.
Within the process method, you set several variables before doing anything; retA, retJ, and retZ, which you set to None. If you aren't modifying these objects in place, you can omit these completely and add an else statement.

if infoline:
    # filling some of retA, retJ, retZ
    return Info(retA, retJ, retZ)
else:
    return Info(None, None, None)
In the aforementioned if statement, you can simply use

if get_infoline(line, prov):

Rather than setting the infoline variable. Then, if you need the result, you can define it within the statement.