Re: load data infile somewhat flaky

DFS <[email protected]> Wed, 18 Aug 2021 09:43:20 -0400
Newsgroups comp.databases.mysql
Organization blocknews - www.blocknews.net
Message-ID <[email protected]>
On 8/18/2021 4:10 AM, Johann Klammer wrote:
> On 08/17/2021 07:11 PM, DFS wrote:
>> Finally got a big file (3 columns x 612K rows) of messy data loaded.
>>
>> load data infile 'file.csv'
>> into table
>> fields terminated by ','
>> enclosed by '"';
>>
>> I noticed it tells you an error occurred at a certain line, but the offending data (a text field ending in \ or "\") 5 lines later was the real issue.
>>
>> On one run 5 lines didn't post, and it turns out they were the next 5 lines after a field ending in "\".  Those 5 lines got concatenated with the offending line, so I had one large clump of data in one row.
>>
>> Moral: watch for fields ending in \ or "\".
>>
> I seem to recall it also has problems with whitespace around the commata.


Yes, I saw that too.

It was a fiasco.  Wasted a fair amt of my time.  A couple times it would 
spend 10 minutes reading a file (Stage 1 of 1...) then tell me it bombed 
on row 1 (which was valid data).
Near the end of my db cloning process (15 tables, 30M rows total, SQLite 
to MariaDB) I wrote a little python program to copy the data.

The python code did - no joking - nearly 2700+ inserts/second into 
MariaDB.  I copied 1.5M rows (~4GB) in under 10 minutes.

'load data infile' isn't worthless - it worked decently fast on simple 
data - but there are better ways of getting data into MariaDB.