The data I work with is messy, from hand written notes, multiple sources, millions of rows, etc etc. A single point that's written as "one" instead of 1 makes your whole idea fall on its face.
The data I work with is messy, from hand written notes, multiple sources, millions of rows, etc etc. A single point that's written as "one" instead of 1 makes your whole idea fall on its face.
But, I have workarounds for these issues by loading everything into postgres under TEXT columns in a "raw" schema, then do some typecast tests in a descending list of types to get the smallest possible type to transfer to a new table in a "prod" schema. It's read-only data, so it's not a big deal to run it once, and builds out a chain of changes from csv -> sql.
Something like this could be done with pickling to avoid having to re-type every time I run the code (and I've done that for some past projects, but it's... ehhh).
"Oops, messed up my import slightly. Gotta run it again and wait ages.... again"
"Oops, loaded the dataframe twice on accident and had OOM. Gotta restart from the beginning... again"
"Oops, forgot to .head(5) my dataframe and jupyter's crashed... again..."
Doing everything in SQL solves so many problems. And OOM is practically a non-issue.