Мне нужно сгенерировать миллиард записей в текстовом файле для загрузки таблицы.
Мое определение целевой таблицы:
CREATE TABLE txnrecords12(
txnno int,
txndate string,
custno int,
amount double,
category string,
product string,
city string,
state string,
spendby string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
Для генерации данных мой код:
############!/bin/sh
####### Create file dynamically
if [ ! -d hero_work ]
then
mkdir hero_work
fi
TEMPDIR=$HOME/hero_work
cd $TEMPDIR
touch $TEMPDIR/big_data_file_$$
echo $"string1\n",printf "string1\n",printf "string1\n">>big_data_file_$$
####################################
### Create data file dynamically####
####################################
if [ ! -d hero_work ]
then
mkdir hero_work
fi
TEMPDIR=$HOME/hero_work
cd $TEMPDIR
touch $TEMPDIR/big_data_file_$$
n1='
'
state_factor=$1
category_factor=$2
city_factor=$3
product_factor=$4
hiphen="-"
comma=","
### Write Table Columns Below
Col1="Txnno"
Col2="Txndate"
Col3="Custno"
Col4="Amount"
Col5="Category"
Col6="Product"
Col7="City"
Col8="State"
Col9="Spend_by"
####### Randomvariable declarations
rand1_Date_d="01"
rand2_Date_m="01"
rand5_Date_year="1999"
rand3_Transaction="0014"
rand4_cust_no="01155"
rand6_amount_no="0000"
######Column related variable declaration
var1_col1_txnno=0
var2_col2_txndate=0
var3_col3_custno=0
var4_col4_amount=0
var5_col5_category=0
var6_col6_product=0
var7_col7_city=0
var8_col8_state=0
var9_col9_spendby=0
write_value=${var1_col1_txnno}${comma}${var2_col2_txndate}${comma}${var3_col3_custno}${comma}${var4_col4_amount}${comma}${var5_col5_category}${comma}${var6_col6_product}${comma}${var7_col7_city}${comma}${var8_col8_state}${comma}${var9_col9_spendby}
Column_list=$Col1${comma}Col2${comma}$Col3${comma}$Col4${comma}$Col5${comma}$Col6${comma}$Col7${comma}$Col8${comma}$Col9
echo "$Column_list">big_data_file_$$
#####
####### Array of States
State[0]="UP"
State[1]="MP"
State[2]="Punjab"
State[3]="Delhi"
State[4]="WB"
### Array of Cities
City[0]="ABC"
City[1]="BCD"
City[2]="KJL"
City[3]="CGL"
City[4]="PPL"
#### Array of Products
Product[0]="ICECREAM"
Product[1]="Wheat"
Product[2]="CLOTHES"
Produt[3]="Laptop"
Product[4]="Bags"
Product[5]="Books"
#### Array of Categories
Category[0]="Foods"
Category[1]="Wearings"
Category[2]="Electronics"
###########3 Loop variables were initialized below
var_state_loop=0
var_city_loop=0
var_category_loop=0
var_product_loop=0
while (( var_state_loop -le $state_factor ))
do
if[ $var_state_loop -le 4 ]
then
echo "State loop part starts here.."
$var8_col8_state=${State[$var_state_loop]}
else
echo "State loop part ends here.."
while((var_city_loop -le ${city_factor} ))
do
echo "City Loop starts here"
if[ $var_city_loop -le 4 ]
then
$var7_col7_city=${City[$var_city_loop]}
else
echo "City Loop ends here"
while((var_category_loop -le ${category_factor}))
do
echo "Category loop started from here"
if[ $var_category_loop -le 3 ]
then
$var5_col5_category=${Category[$var_category_loop]}
else
echo"Category loop ended"
while((var_product_loop -le 6))
do
if [ $var_product_loop -le 6 ]
then
$var6_col6_product=${Product[$var_product_loop]}
$var1_col1_txnno=${var8_col8_state}${var7_col7_city}${var5_col5_category}${var6_col6_product}${rand3_Transaction}
while((rand5_Date_year -le 2016))
do
echo "starting date writing"
if[ ${rand1_Date_d} -le 31 -a ${rand2_Date_m} -le 12 ]
then
$var2_col2_txndate=${rand1_Date_d}${hiphen}${rand2_Date_m}${hiphen}${rand5_Date_year}
else
echo "Date part completed"
((ran5_Date_year+=1)))
done
$var3_col3_custno=${var8_col8_state}${var7_col7_city}${var5_col5_category}${var6_col6_product}${rand4_cust_no}
$var4_col4_amount=${rand6_amount_no}
$var9_col9_spendby=${var3_col3_custno}${hiphen}${var7_col7_city}
echo "The product loop finished for one product"
write_value=${var1_col1_txnno}${comma}${var2_col2_txndate}${comma}${var3_col3_custno}${comma}${var4_col4_amount}${comma}${var5_col5_category}${comma}${var6_col6_product}${comma}${var7_col7_city}${comma}${var8_col8_state}${comma}${var9_col9_spendby}
echo ${write_value}>>big_data_file_$$
##### Product end variable declaration
((rand3_Transaction+=1))
((rand6_amount_no+=212))
((var_product_loop+=1))
done
((var_category+=1))
done
((var_city_loop+=1))
done
((var_state_loop+=1))
done
Когда я запускаю код, я получаю следующую ошибку каждый раз
line 94: syntax error near unexpected token `then'
biggun.ksh: line 94: ` then'