Skip to content

Commit 1da7395

Browse files
committed
Support RTM behavior & AD auth.
1 parent cced461 commit 1da7395

3 files changed

Lines changed: 134 additions & 83 deletions

File tree

samples/features/sql-big-data-cluster/bootstrap-sample-db.cmd

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,48 +3,52 @@ REM bootstrap sample database CMD script
33
setlocal enableextensions
44
setlocal enabledelayedexpansion
55
set CLUSTER_NAMESPACE=%1
6-
set SQL_MASTER_IP=%2
7-
set SQL_MASTER_SA_PASSWORD=%3
8-
set KNOX_IP=%4
9-
set KNOX_PASSWORD=%5
10-
set AW_WWI_SAMPLES=%6
11-
set SQL_MASTER_PORT=%7
12-
set KNOX_PORT=%8
6+
set SQL_MASTER_ENDPOINT=%2
7+
set KNOX_ENDPOINT=%3
8+
set AW_WWI_SAMPLES=%4
9+
set SQL_MASTER_PORT=%5
10+
set KNOX_PORT=%6
1311
set STARTUP_PATH=%~dp0
1412
set TMP_DIR_NAME=%~nx0
1513

1614
if NOT DEFINED CLUSTER_NAMESPACE goto :usage
17-
if NOT DEFINED SQL_MASTER_IP goto :usage
18-
if NOT DEFINED SQL_MASTER_SA_PASSWORD goto :usage
19-
if NOT DEFINED KNOX_IP goto :usage
20-
if NOT DEFINED KNOX_PASSWORD set KNOX_PASSWORD=%SQL_MASTER_SA_PASSWORD%
15+
if NOT DEFINED SQL_MASTER_ENDPOINT goto :usage
16+
if NOT DEFINED KNOX_ENDPOINT goto :usage
2117
if NOT DEFINED AW_WWI_SAMPLES set AW_WWI_SAMPLES=no
2218
if NOT DEFINED SQL_MASTER_PORT set SQL_MASTER_PORT=31433
2319
if NOT DEFINED KNOX_PORT set KNOX_PORT=30443
2420

25-
set SQL_MASTER_INSTANCE=%SQL_MASTER_IP%,%SQL_MASTER_PORT%
26-
set KNOX_ENDPOINT=%KNOX_IP%:%KNOX_PORT%
21+
set SQL_MASTER_INSTANCE=%SQL_MASTER_ENDPOINT%,%SQL_MASTER_PORT%
22+
set KNOX_ENDPOINT=%KNOX_ENDPOINT%:%KNOX_PORT%
23+
set SQLCMDSERVER=%SQL_MASTER_INSTANCE%
24+
if DEFINED AZDATA_USERNAME set SQLCMDUSER=%AZDATA_USERNAME%
25+
if DEFINED AZDATA_PASSWORD set SQLCMDPASSWORD=%AZDATA_PASSWORD%
26+
if DEFINED AZDATA_PASSWORD set set KNOX_PASSWORD=%AZDATA_PASSWORD%
27+
28+
if NOT DEFINED SQLCMDUSER (
29+
set BCP_CREDENTIALS=-T
30+
) else (
31+
set BCP_CREDENTIALS=-U%SQLCMDUSER% -P%SQLCMDPASSWORD%
32+
)
2733

2834
for %%F in (sqlcmd.exe bcp.exe kubectl.exe curl.exe) do (
2935
echo Verifying %%F is in path & CALL WHERE /Q %%F || GOTO exit
3036
)
3137

3238
pushd "%tmp%"
33-
md %TMP_DIR_NAME% >NUL
39+
md %TMP_DIR_NAME% >NUL 2>NUL
3440
cd %TMP_DIR_NAME%
3541

3642
if NOT EXIST tpcxbb_1gb.bak (
3743
echo Downloading sample database backup file...
3844
%DEBUG% curl -G "https://sqlchoice.blob.core.windows.net/sqlchoice/static/tpcxbb_1gb.bak" -o tpcxbb_1gb.bak
3945
)
4046

41-
set SQLCMDSERVER=%SQL_MASTER_INSTANCE%
42-
set SQLCMDUSER=sa
43-
set SQLCMDPASSWORD=%SQL_MASTER_SA_PASSWORD%
4447
for /F "usebackq tokens=1,2" %%v in (`sqlcmd -I -b -h-1 -W -Q "SET NOCOUNT ON; SELECT @@SERVERNAME, SERVERPROPERTY('IsHadrEnabled');"`) do (
4548
SET MASTER_POD_NAME=%%v
4649
SET HADR_ENABLED=%%w
4750
)
51+
if NOT DEFINED MASTER_POD_NAME goto exit
4852

4953
REM Copy the backup file, restore the database, create necessary objects and data file
5054
echo Copying sales database backup file to SQL Master instance...
@@ -82,12 +86,12 @@ if /i "%AW_WWI_SAMPLES%" EQU "--install-extra-samples" (
8286
REM If HADR is enabled then port-forward 1533 temporarily to connect to the primary directly
8387
REM Default timeout for port-forward is 5 minutes so start command in background & it will terminate automatically
8488
if /i "%HADR_ENABLED%" EQU "1" (
85-
%DEBUG% start kubectl port-forward pods/%MASTER_POD_NAME% 1533:1533 -n %CLUSTER_NAMESPACE%
89+
%DEBUG% start "bootstrap-kubectl" kubectl port-forward svc/master-svc 1533:1533 -n %CLUSTER_NAMESPACE%
8690
SET SQLCMDSERVER=127.0.0.1,1533
8791
)
8892

8993
echo Configuring sample database(s)...
90-
%DEBUG% sqlcmd -i "%STARTUP_PATH%bootstrap-sample-db.sql" -o "bootstrap.out" -I -b -v SA_PASSWORD="%KNOX_PASSWORD%" || goto exit
94+
%DEBUG% sqlcmd -i "%STARTUP_PATH%bootstrap-sample-db.sql" -o "bootstrap.out" -I -b || goto exit
9195

9296
REM remove files copied into the pod:
9397
echo Removing database backup file...
@@ -97,31 +101,43 @@ for %%F in (web_clickstreams inventory customer) do (
97101
if NOT EXIST %%F.csv (
98102
echo Exporting %%F data...
99103
if /i %%F EQU web_clickstreams (set DELIMITER=,) else (SET DELIMITER=^|)
100-
%DEBUG% bcp sales.dbo.%%F out "%%F.csv" -S %SQLCMDSERVER% -Usa -P%SQL_MASTER_SA_PASSWORD% -c -t"!DELIMITER!" -o "%%F.out" -e "%%F.err" || goto exit
104+
%DEBUG% bcp sales.dbo.%%F out "%%F.csv" -S %SQLCMDSERVER% %BCP_CREDENTIALS% -c -t"!DELIMITER!" -o "%%F.out" -e "%%F.err" || goto exit
101105
)
102106
)
103107

104108
if NOT EXIST product_reviews.csv (
105109
echo Exporting product_reviews data...
106-
%DEBUG% bcp "select pr_review_sk, replace(replace(pr_review_content, ',', ';'), char(34), '') as pr_review_content from sales.dbo.product_reviews" queryout "product_reviews.csv" -S %SQLCMDSERVER% -Usa -P%SQL_MASTER_SA_PASSWORD% -c -t, -o "product_reviews.out" -e "product_reviews.err" || goto exit
110+
%DEBUG% bcp "select pr_review_sk, replace(replace(pr_review_content, ',', ';'), char(34), '') as pr_review_content from sales.dbo.product_reviews" queryout "product_reviews.csv" -S %SQLCMDSERVER% %BCP_CREDENTIALS% -c -t, -o "product_reviews.out" -e "product_reviews.err" || goto exit
107111
)
108112

113+
REM Kill kubectl process if started
114+
taskkill /F /T /FI "WINDOWTITLE EQ bootstrap-kubectl" /IM kubectl.exe >NUL 2>NUL
115+
109116
REM Copy the data file to HDFS
110117
echo Uploading web_clickstreams data to HDFS...
111-
%DEBUG% curl -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/clickstream_data?op=MKDIRS" || goto exit
112-
%DEBUG% curl -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/clickstream_data/web_clickstreams.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "web_clickstreams.csv" || goto exit
118+
if DEFINED KNOX_PASSWORD (
119+
%DEBUG% curl -s -S -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/clickstream_data?op=MKDIRS" || goto exit
120+
%DEBUG% curl -s -S -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/clickstream_data/web_clickstreams.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "web_clickstreams.csv" || goto exit
121+
) else (
122+
%DEBUG% curl -s -S -L -k -u : --negotiate -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/clickstream_data?op=MKDIRS" || goto exit
123+
%DEBUG% curl -s -S -L -k -u : --negotiate -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/clickstream_data/web_clickstreams.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "web_clickstreams.csv" || goto exit
124+
)
113125
:: del /q web_clickstreams.*
114126

115127
echo.
116128
echo Uploading product_reviews data to HDFS...
117-
%DEBUG% curl -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/product_review_data?op=MKDIRS" || goto exit
118-
%DEBUG% curl -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/product_review_data/product_reviews.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "product_reviews.csv" || goto exit
129+
if DEFINED KNOX_PASSWORD (
130+
%DEBUG% curl -s -S -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/product_review_data?op=MKDIRS" || goto exit
131+
%DEBUG% curl -s -S -L -k -u root:%KNOX_PASSWORD% -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/product_review_data/product_reviews.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "product_reviews.csv" || goto exit
132+
) else (
133+
%DEBUG% curl -s -S -L -k -u : --negotiate -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/product_review_data?op=MKDIRS" || goto exit
134+
%DEBUG% curl -s -S -L -k -u : --negotiate -X PUT "https://%KNOX_ENDPOINT%/gateway/default/webhdfs/v1/product_review_data/product_reviews.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "product_reviews.csv" || goto exit
135+
)
119136
:: del /q product_reviews.*
120137

121138
REM %DEBUG% del /q *.out *.err *.csv
122139
echo .
123140
echo Bootstrap of the sample database completed successfully.
124-
echo You can now login using "root" and Knox password to get the unified experience in Azure Data Studio.
125141
echo Data files for Oracle setup are located at [%TMP%\%TMP_DIR_NAME%].
126142

127143
popd
@@ -130,11 +146,15 @@ exit /b 0
130146
goto :eof
131147

132148
:exit
149+
REM Kill kubectl process if started
150+
taskkill /F /T /FI "WINDOWTITLE EQ bootstrap-kubectl" /IM kubectl.exe >NUL 2>NUL
133151
echo Bootstrap of the sample database failed.
134152
echo Output and error files are in directory [%TMP%\%TMP_DIR_NAME%].
135153
exit /b 1
136154

137155
:usage
138-
echo USAGE: %0 ^<CLUSTER_NAMESPACE^> ^<SQL_MASTER_IP^> ^<SQL_MASTER_SA_PASSWORD^> ^<KNOX_IP^> [^<KNOX_PASSWORD^>] [--install-extra-samples] [SQL_MASTER_PORT] [KNOX_PORT]
139-
echo Default ports are assumed for SQL Master instance ^& Knox gateway unless specified.
156+
echo USAGE: %0 ^<CLUSTER_NAMESPACE^> ^<SQL_MASTER_ENDPOINT^> ^<KNOX_ENDPOINT^> [--install-extra-samples] [SQL_MASTER_PORT] [KNOX_PORT]
157+
echo To use basic authentication please set AZDATA_USERNAME and AZDATA_PASSWORD environment variables.
158+
echo To use integrated authentication provide the DNS names for the endpoints.
159+
echo Port can be specified separately if using non-default values."
140160
exit /b 0

samples/features/sql-big-data-cluster/bootstrap-sample-db.sh

Lines changed: 71 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,55 @@ set -o pipefail
44

55
STARTUP_PATH=$(pwd)
66
TMP_DIR_NAME=$(basename $0)
7-
USAGE_MESSAGE="USAGE: $0 <CLUSTER_NAMESPACE> <SQL_MASTER_IP> <SQL_MASTER_SA_PASSWORD> <KNOX_IP> [<KNOX_PASSWORD>] [--install-extra-samples] [SQL_MASTER_PORT] [KNOX_PORT]"
7+
USAGE_MESSAGE="USAGE: $0 <CLUSTER_NAMESPACE> <SQL_MASTER_ENDPOINT> <KNOX_ENDPOINT> [--install-extra-samples] [SQL_MASTER_PORT] [KNOX_PORT]
8+
To use basic authentication please set AZDATA_USERNAME and AZDATA_PASSWORD environment variables.
9+
To use integrated authentication provide the DNS names for the endpoints.
10+
Port can be specified separately if using non-default values."
811
ERROR_MESSAGE="Bootstrap of the sample database failed. Output and error files are in directory [/tmp/$TMP_DIR_NAME]."
912

1013
# Print usage if mandatory parameters are missing
1114
: "${1:?$USAGE_MESSAGE}"
1215
: "${2:?$USAGE_MESSAGE}"
1316
: "${3:?$USAGE_MESSAGE}"
14-
: "${4:?$USAGE_MESSAGE}"
1517
: "${DEBUG=}"
1618

1719
# Save the input parameters
1820
CLUSTER_NAMESPACE=$1
19-
SQL_MASTER_IP=$2
20-
SQL_MASTER_SA_PASSWORD=$3
21-
KNOX_IP=$4
22-
KNOX_PASSWORD=$5
23-
AW_WWI_SAMPLES=$6
24-
SQL_MASTER_PORT=$7
25-
KNOX_PORT=$8
26-
27-
# If Knox password is not supplied then default to SQL Master password
28-
KNOX_PASSWORD=${KNOX_PASSWORD:=$SQL_MASTER_SA_PASSWORD}
21+
SQL_MASTER_ENDPOINT=$2
22+
KNOX_ENDPOINT=$3
23+
AW_WWI_SAMPLES=$4
24+
SQL_MASTER_PORT=$5
25+
KNOX_PORT=$6
2926

3027
# Skip if extra samples doesn't need to be installed
3128
AW_WWI_SAMPLES=${AW_WWI_SAMPLES:=no}
3229

3330
# Use default ports if not specified
3431
SQL_MASTER_PORT=${SQL_MASTER_PORT:=31433}
3532
KNOX_PORT=${KNOX_PORT:=30443}
36-
SQL_MASTER_INSTANCE=$SQL_MASTER_IP,$SQL_MASTER_PORT
37-
KNOX_ENDPOINT=$KNOX_IP:$KNOX_PORT
33+
SQL_MASTER_INSTANCE=$SQL_MASTER_ENDPOINT,$SQL_MASTER_PORT
34+
KNOX_ENDPOINT=$KNOX_ENDPOINT:$KNOX_PORT
35+
36+
# Set username/password variables
37+
export SQLCMDSERVER=$SQL_MASTER_INSTANCE
38+
export SQLCMDUSER=$AZDATA_USERNAME
39+
export SQLCMDPASSWORD=$AZDATA_PASSWORD
40+
KNOX_PASSWORD=$AZDATA_PASSWORD
41+
42+
if [ -z SQLCMDUSER ]
43+
then
44+
BCP_CREDENTIALS="-T"
45+
else
46+
BCP_CREDENTIALS="-U$SQLCMDUSER -P$SQLCMDPASSWORD"
47+
fi
3848

3949
for util in sqlcmd bcp kubectl curl
4050
do
4151
echo Verifying $util is in path & which $util 1>/dev/null 2>/dev/null || (echo Unable to locate $util && exit 1)
4252
done
4353

4454
# Copy the backup file, restore the database, create necessary objects and data file
45-
pushd "/tmp"
55+
pushd "/tmp" > /dev/null
4656
$DEBUG mkdir -p "$TMP_DIR_NAME"
4757
$DEBUG cd "$TMP_DIR_NAME"
4858

@@ -52,7 +62,12 @@ then
5262
$DEBUG curl -G "https://sqlchoice.blob.core.windows.net/sqlchoice/static/tpcxbb_1gb.bak" -o tpcxbb_1gb.bak
5363
fi
5464

55-
read -r MASTER_POD_NAME HADR_ENABLED <<<$(sqlcmd -S $SQL_MASTER_INSTANCE -Usa -P$SQL_MASTER_SA_PASSWORD -I -b -h-1 -Q "SET NOCOUNT ON; SELECT @@SERVERNAME, SERVERPROPERTY('IsHadrEnabled');") || (echo $ERROR_MESSAGE && exit 1)
65+
read -r MASTER_POD_NAME HADR_ENABLED <<<$(sqlcmd -I -b -h-1 -W -Q "SET NOCOUNT ON; SELECT @@SERVERNAME, SERVERPROPERTY('IsHadrEnabled');")
66+
if [ -z $MASTER_POD_NAME ]
67+
then
68+
echo $ERROR_MESSAGE
69+
exit 1
70+
fi
5671

5772
echo Copying sales database backup file...
5873
$DEBUG kubectl cp tpcxbb_1gb.bak $CLUSTER_NAMESPACE/$MASTER_POD_NAME:var/opt/mssql/data -c mssql-server || (echo $ERROR_MESSAGE && exit 1)
@@ -68,9 +83,6 @@ then
6883
fi
6984
echo Copying $file database backup file to SQL Master instance...
7085
$DEBUG kubectl cp $file $CLUSTER_NAMESPACE/$MASTER_POD_NAME:var/opt/mssql/data -c mssql-server || (echo $ERROR_MESSAGE && exit 1)
71-
72-
echo Removing database backup file...
73-
$DEBUG kubectl exec $MASTER_POD_NAME -n $CLUSTER_NAMESPACE -c mssql-server -i -t -- bash -c "rm -rvf /var/opt/mssql/data/$file"
7486
done
7587

7688

@@ -83,9 +95,6 @@ then
8395
fi
8496
echo Copying $file database backup file to SQL Master instance...
8597
$DEBUG kubectl cp $file $CLUSTER_NAMESPACE/$MASTER_POD_NAME:var/opt/mssql/data -c mssql-server || (echo $ERROR_MESSAGE && exit 1)
86-
87-
echo Removing database backup file...
88-
$DEBUG kubectl exec $MASTER_POD_NAME -n $CLUSTER_NAMESPACE -c mssql-server -i -t -- bash -c "rm -rvf /var/opt/mssql/data/$file"
8998
done
9099
fi
91100

@@ -94,18 +103,30 @@ fi
94103
if [ "$HADR_ENABLED" == "1" ]
95104
then
96105
$DEBUG kubectl port-forward pods/$MASTER_POD_NAME 1533:1533 -n $CLUSTER_NAMESPACE &
97-
SQL_MASTER_INSTANCE=127.0.0.1,1533
106+
PROC_ID=$!
107+
SQLCMDSERVER=127.0.0.1,1533
98108
fi
99109

100110
echo Configuring sample database...
101-
# WSL ex: "/mnt/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/130/Tools/Binn/SQLCMD.EXE"
102-
export SA_PASSWORD=$KNOX_PASSWORD
103-
$DEBUG sqlcmd -S $SQL_MASTER_INSTANCE -Usa -P$SQL_MASTER_SA_PASSWORD -I -b -i "$STARTUP_PATH/bootstrap-sample-db.sql" -o "bootstrap.out" || (echo $ERROR_MESSAGE && exit 2)
111+
$DEBUG sqlcmd -I -b -i "$STARTUP_PATH/bootstrap-sample-db.sql" -o "bootstrap.out" || (echo $ERROR_MESSAGE && kill -9 $PROC_ID > /dev/null && exit 2)
104112

105113
# remove files copied into the pod:
106-
echo Removing database backup file...
114+
echo "Removing database backup file(s)..."
107115
$DEBUG kubectl exec $MASTER_POD_NAME -n $CLUSTER_NAMESPACE -c mssql-server -i -t -- bash -c "rm -rvf /var/opt/mssql/data/tpcxbb_1gb.bak"
108116

117+
if [ "$AW_WWI_SAMPLES" == "--install-extra-samples" ]
118+
then
119+
for file in AdventureWorks2016_EXT.bak AdventureWorksDW2016_EXT.bak
120+
do
121+
$DEBUG kubectl exec $MASTER_POD_NAME -n $CLUSTER_NAMESPACE -c mssql-server -i -t -- bash -c "rm -rvf /var/opt/mssql/data/$file"
122+
done
123+
124+
for file in WideWorldImporters-Full.bak WideWorldImportersDW-Full.bak
125+
do
126+
$DEBUG kubectl exec $MASTER_POD_NAME -n $CLUSTER_NAMESPACE -c mssql-server -i -t -- bash -c "rm -rvf /var/opt/mssql/data/$file"
127+
done
128+
fi
129+
109130
for table in web_clickstreams inventory customer
110131
do
111132
echo Exporting $table data...
@@ -118,31 +139,45 @@ for table in web_clickstreams inventory customer
118139
# WSL ex: "/mnt/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/130/Tools/Binn/bcp.exe"
119140
if [ ! -f $table.csv ]
120141
then
121-
$DEBUG bcp sales.dbo.$table out "$table.csv" -S $SQL_MASTER_INSTANCE -Usa -P$SQL_MASTER_SA_PASSWORD -c -t"$DELIMITER" -e "$table.err" > "$table.out" || (echo $ERROR_MESSAGE && exit 3)
142+
$DEBUG bcp sales.dbo.$table out "$table.csv" -S $SQLCMDSERVER $BCP_CREDENTIALS -c -t"$DELIMITER" -e "$table.err" > "$table.out" || (echo $ERROR_MESSAGE && kill -9 $PROC_ID > /dev/null && exit 3)
122143
fi
123144
done
124145

125146
if [ ! -f product_reviews.csv ]
126147
then
127148
echo Exporting product_reviews data...
128-
$DEBUG bcp "select pr_review_sk, replace(replace(pr_review_content, ',', ';'), char(34), '') as pr_review_content from sales.dbo.product_reviews" queryout "product_reviews.csv" -S $SQL_MASTER_INSTANCE -Usa -P$SQL_MASTER_SA_PASSWORD -c -t, -e "product_reviews.err" > "$table.out" || (echo $ERROR_MESSAGE && exit 3)
149+
$DEBUG bcp "select pr_review_sk, replace(replace(pr_review_content, ',', ';'), char(34), '') as pr_review_content from sales.dbo.product_reviews" queryout "product_reviews.csv" -S $SQLCMDSERVER $BCP_CREDENTIALS -c -t, -e "product_reviews.err" > "$table.out" || (echo $ERROR_MESSAGE && kill -9 $PROC_ID > /dev/null && exit 3)
150+
fi
151+
152+
if [[ $PROC_ID ]]
153+
then
154+
kill -9 $PROC_ID > /dev/null
129155
fi
130156

131157
# Copy the data file to HDFS
132158
echo Uploading web_clickstreams data to HDFS...
133-
$DEBUG curl -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/clickstream_data?op=MKDIRS" || (echo $ERROR_MESSAGE && exit 4)
134-
$DEBUG curl -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/clickstream_data/web_clickstreams.csv?op=create&overwrite=true" -H 'Content-Type: application/octet-stream' -T "web_clickstreams.csv" || (echo $ERROR_MESSAGE && exit 5)
159+
if [[ $KNOX_PASSWORD ]]
160+
then
161+
$DEBUG curl -s -S -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/clickstream_data?op=MKDIRS" 1>/dev/null || (echo $ERROR_MESSAGE && exit 4)
162+
$DEBUG curl -s -S -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/clickstream_data/web_clickstreams.csv?op=create&overwrite=true" -H 'Content-Type: application/octet-stream' -T "web_clickstreams.csv" 1>/dev/null || (echo $ERROR_MESSAGE && exit 5)
163+
else
164+
$DEBUG curl -s -S -L -k -u : --negotiate -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/clickstream_data?op=MKDIRS" 1>/dev/null || (echo $ERROR_MESSAGE && exit 4)
165+
$DEBUG curl -s -S -L -k -u : --negotiate -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/clickstream_data/web_clickstreams.csv?op=create&overwrite=true" -H 'Content-Type: application/octet-stream' -T "web_clickstreams.csv" 1>/dev/null || (echo $ERROR_MESSAGE && exit 5)
166+
fi
135167
#$DEBUG rm -f web_clickstreams.*
136168

137-
echo
138169
echo Uploading product_reviews data to HDFS...
139-
$DEBUG curl -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/product_review_data?op=MKDIRS" || (echo $ERROR_MESSAGE && exit 6)
140-
$DEBUG curl -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/product_review_data/product_reviews.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "product_reviews.csv" || (echo $ERROR_MESSAGE && exit 7)
170+
if [[ $KNOX_PASSWORD ]]
171+
then
172+
$DEBUG curl -s -S -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/product_review_data?op=MKDIRS" 1>/dev/null || (echo $ERROR_MESSAGE && exit 6)
173+
$DEBUG curl -s -S -L -k -u root:$KNOX_PASSWORD -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/product_review_data/product_reviews.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "product_reviews.csv" 1>/dev/null || (echo $ERROR_MESSAGE && exit 7)
174+
else
175+
$DEBUG curl -s -S -L -k -u : --negotiate -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/product_review_data?op=MKDIRS" 1>/dev/null || (echo $ERROR_MESSAGE && exit 6)
176+
$DEBUG curl -s -S -L -k -u : --negotiate -X PUT "https://$KNOX_ENDPOINT/gateway/default/webhdfs/v1/product_review_data/product_reviews.csv?op=create&overwrite=true" -H "Content-Type: application/octet-stream" -T "product_reviews.csv" 1>/dev/null || (echo $ERROR_MESSAGE && exit 7)
177+
fi
141178
#$DEBUG rm -f product_reviews.*
142179

143-
echo
144180
echo Bootstrap of the sample database completed successfully.
145-
echo You can now login using "root" and Knox password to get the unified experience in Azure Data Studio.
146181
echo Data files for Oracle setup are located at [/tmp/$TMP_DIR_NAME].
147182

148183
# $DEBUG rm -f *.out *.err *.csv

0 commit comments

Comments
 (0)