I would suggest to ingest your CSV data into a simple table, then have a second process that grab that data and insert it into another table (with a PK, auto-increment). MemSQL PK auto-increment does not guarantees sequential ID (like in MySQL). It will guarantee unique values though.
I suggest to add a “status” field in your table for ingestion with a default 0. When you want to process the rows, set the status to 2, then set it to 1 when done.
Table_A is your table for ingestion, has status colunn default 0
- update table_A set status = 2 where status =0
- insert into table_with_pk_auto_increment Select fields needed from table_A where status=2
- update table_A set status=1 where status =2
This can be easily done via a Stored Proc which you could call every x seconds or minutes.
Hope this helps.