EntityUpdateDataCSV
SingleEntityUpdateDataCSV Objects
class SingleEntityUpdateDataCSV(CSVParser.CSVParser)
ApertureDB General CSV Parser for Adding and Updating Properties in an Entity
Update an Entity to the data in the CSV What this means is:
- If it doesn't exist, add it.
- If it exists, update the properties.
This class utilizes 2 conditionals
normal constraint_ to select the element
a series of updateif_ to determine if an update is necessary
Conditionals: updateif>_prop - updates if the database value > csv value updateif<_prop - updates if the database value < csv value updateif!_prop - updates if the database value is != csv value
note
Is backed by a CSV file with the following columns (format optional):
``filename``, ``PROP_NAME_1``, ... ``PROP_NAME_N``, ``constraint_PROP1``, ``format``
OR
``url``, ``PROP_NAME_1``, ... ``PROP_NAME_N``, ``constraint_PROP1``, ``format``
OR
``s3_url``, ``PROP_NAME_1``, ... ``PROP_NAME_N``, ``constraint_PROP1``, ``format``
OR
``gs_url``, ``PROP_NAME_1``, ... ``PROP_NAME_N``, ``constraint_PROP1``, ``format``
..
Example CSV file::
filename,id,label,constraint_id,format,dataset_ver,updateif>_dataset_ver,gen_blobsha1_sha
/home/user/file1.jpg,321423532,dog,321423532,jpg,2,2,
/home/user/file2.jpg,42342522,cat,42342522,png,2,2,
...
Example usage:
data = ImageForceNewestDataCSV("/path/to/ImageData.csv")
loader = ParallelLoader(client)
loader.ingest(data)
info
In the above example, the constraint_id ensures that an Image with the specified id would be only inserted if it does not already exist in the database.