[MDEV-5099] A better mysqlimport Created: 2013-10-04  Updated: 2015-10-30

Status: Open
Project: MariaDB Server
Component/s: None
Fix Version/s: None

Type: Task Priority: Minor
Reporter: VAROQUI Stephane Assignee: Unassigned
Resolution: Unresolved Votes: 2
Labels: None


 Description   

In order of priority :

1 - streaming data directly to the import
2 - generating rejected records file
3 - ability to stop the import after given number of errors
4 - metadata storing in file delimiter, destination table



 Comments   
Comment by VAROQUI Stephane [ 2013-10-04 ]

Here is a trick to import from stdin :

#!/bin/bash
 
MAXTHREAD="`cat /proc/cpuinfo | grep processor | wc -l`"
DELAY=0.1
 
import_csv_gz()
{
echo
date
echo "$1"
mkfifo ${1}_fifo
mysqlimport --fields-terminated-by=';'
--fields-optionally-enclosed-by='\"' --lines-terminated-by='\n' --local
test ${1}_fifo &
zcat $1 > ${1}_fifo
rm ${1}_fifo
mv $1 /home/mysql/csv/done
}
 
## MAIN
echo "$MAXTHREAD CPU found!"
 
for i in $(ls /home/mysql/csv/*csvgz); do
import_csv_gz "$i" &
while (( $(jobs | wc -l) >= $MAXTHREAD )); do
sleep $DELAY
jobs > /dev/null
done
done
wait
 
echo "all done!"

Generated at Thu Feb 08 07:01:40 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.