You have to call tx.success(); before calling tx.close(); in order to have the changes committed. Best practice is to wrap the transaction in a try block like this:
I would try something like this:
USING PERIODIC COMMIT 1000 LOAD CSV WITH HEADERS FROM "file:///"myfile.csv AS csvReader FIELDTERMINATOR '|' *
WITH csvReader WHERE NOT csvReader.EmpId IS NULL
Have you looked at the logs to see if there is any strange repetitive activity going on? I would start with /logs/debug.log There are a couple of procedures you can run as well to check the health of the cluster.
USING PERIODIC COMMIT
It also looks like you are missing the number of records to periodically commit.
"USING PERIODIC COMMIT 500"
I've never tried it without a number so I don't know how it would react.