-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstart.sh
63 lines (48 loc) · 1.5 KB
/
start.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
# ***AIRFLOW FOLDERS
# Create airflow folder
airflow_dir="./airflow"
mkdir -p "${airflow_dir}"
# Create subfolders
for folder in "logs" "dags" "plugins" "config"; do
subfolder="${airflow_dir}/${folder}"
mkdir -p "${subfolder}"
done
echo " - Airflow folder structure created successfully!"
# ****DELTALAKE FODLERS
# Create Deltalake folder
deltalake_dir="./deltalake"
mkdir -p "${deltalake_dir}"
# Create Rick and Morty folder
rick_morty_dir="${deltalake_dir}/rick_and_morty"
mkdir -p "${rick_morty_dir}"
# Create subfolders inside Rick and Morty folder
for folder in "bronze" "silver" "gold"; do
subfolder="${rick_morty_dir}/${folder}"
mkdir -p "${subfolder}"
# Create character, episode, and location folders inside subfolder
for item in "character" "episode" "location"; do
item_folder="${subfolder}/${item}"
mkdir -p "${item_folder}"
done
# Create fact folder inside gold subfolder
if [ "${folder}" = "gold" ]; then
fact_folder="${subfolder}/fact"
mkdir -p "${fact_folder}"
fi
done
echo " - Deltalake folder structure created successfully!"
# ***CSV DATA FOLDER
# Create csv_data folder
csv_data="./csv_data"
mkdir -p "${csv_data}"
echo " - CSV Data folder structure created successfully!"
# *** .ENV FILE
# Create env file
echo "AIRFLOW_UID=$(id -u)" > .env
echo " - .env created successfully!"
# ***DOCKER BUILD
docker build --target airflow -t apache-airflow .
# start containers
docker compose up airflow-init && \
docker compose up