mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-04-18 21:44:02 +03:00
96 lines
3.1 KiB
Bash
Executable File
96 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#This is the procedure for running bulkload using cpimport program
|
|
#Usage of this program :
|
|
#The necessary input parameter is the schema name
|
|
#For example: bulkload.sh TPCH
|
|
|
|
#A table name and a Job ID can be entered by user when it is prompted or they can be skipped by hitting enter key
|
|
#When the table name is skipped, ALL of the columns and index in ALL of the tables in the schema will be loaded
|
|
|
|
#When table name is entered, All of the columns and indexes in the entered table will be loaded
|
|
#Job ID will determine the names of the two xml files. For example, job id 100 will generate Job_100.xml for columns and Job_101 for index xml file. Job id for index xml file is the entered job id +1
|
|
#if the job id is skipped, the default job ids are 299 and 300 for column and index files
|
|
#There are two xml files will be generated which reside in bulkroot directory under subdirectory job
|
|
#For example, the job directory may look like /usr/local/mariadb/columnstore/test/bulk/job
|
|
|
|
# Set up a default search path.
|
|
PATH="$HOME/genii/export/bin:.:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
|
|
export PATH
|
|
|
|
echo "This is Script name " $0
|
|
|
|
USERNAME=`grep "^${USER}:" /etc/passwd | cut -d: -f5`
|
|
JOBID=""
|
|
TABLENAME=""
|
|
Schema =""
|
|
echo "Your Name is :" $USERNAME
|
|
echo "Your User Id is :" $USER
|
|
Schema=$1
|
|
if [ -n "$Schema" ]; then
|
|
echo "Schema is " $Schema
|
|
else
|
|
Schema="TPCH"
|
|
if [ -n "$Schema" ]; then
|
|
echo "Schema is " $Schema
|
|
else
|
|
echo "Error using the script, a schema is needed! "
|
|
echo "usage as follows: "
|
|
echo " bulkload.sh SCHEMA_NAME(your schema name)"
|
|
echo "Try again! Goodbye!"
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
|
|
MAXERROR=10
|
|
FORMAT=CSV
|
|
DESC="table columns definition"
|
|
NAME="column definitions for tables in $Schema"
|
|
|
|
SUFFIX=.tbl
|
|
if [ -n "$JOBID" ]; then
|
|
echo "INPUT JOB ID is " $JOBID
|
|
else
|
|
JOBID=299
|
|
echo "DEFAULT COLUMN JOB ID is " $JOBID
|
|
fi
|
|
|
|
let "JOBID2 = JOBID+1"
|
|
echo "DEFAULT INDEX JOB ID is " $JOBID2
|
|
|
|
#generate column xml file
|
|
if [ -n "$TABLENAME" ]; then
|
|
colxml $Schema -t $TABLENAME -j $JOBID -d "|" -s "$DESC" -e $MAXERROR -n "$NAME" -u $USER
|
|
command="colxml $Schema -t $TABLENAME -j $JOBID -d \"|\" -f $FORMAT -s \"$DESC\" -e $MAXERROR -n \"$NAME\" -u $USER "
|
|
echo $command
|
|
else
|
|
colxml $Schema -j $JOBID -d "|" -s "$DESC" -e $MAXERROR -n "$NAME" -u $USER
|
|
command="colxml $Schema -j $JOBID -d \"|\" -f $FORMAT -s \"$DESC\" -e $MAXERROR -n \"$NAME\" -u $USER "
|
|
echo $command
|
|
fi
|
|
|
|
|
|
#generate index xml file
|
|
DESC="table index definition"
|
|
NAME="index definitions for tables in $Schema"
|
|
|
|
if [ -n "$TABLENAME" ]; then
|
|
indxml $Schema -t $TABLENAME -j $JOBID2 -s "$DESC" -e $MAXERROR -n "$NAME" -u $USER
|
|
command="indxml $Schema -t $TABLENAME -j $JOBID2 -s "$DESC" -e $MAXERROR -n "$NAME" -u $USER "
|
|
echo $command
|
|
else
|
|
indxml $Schema -j $JOBID2 -s "$DESC" -e $MAXERROR -n "$NAME" -u $USER
|
|
command="indxml $Schema -j $JOBID2 -s "$DESC" -e $MAXERROR -n "$NAME" -u $USER "
|
|
echo $command
|
|
fi
|
|
|
|
#bulk load column files
|
|
cpimport -j $JOBID
|
|
command="cpimport -j $JOBID"
|
|
echo $command
|
|
#bulk load index files
|
|
cpimport -c -i -j $JOBID2
|
|
command="cpimport -i -c -j $JOBID2"
|
|
echo $command
|