Demo ETL
Configure path in file ~/.zshrc
cho terminal ZSH hoặc ~/.bashrc
cho bash thông thường
# >>> setup java_home >>>
export JAVA_16_HOME=/usr/local/opt/java/libexec/openjdk.jdk/Contents/Home
export JAVA_HOME=/usr/local/opt/java11/libexec/openjdk.jdk/Contents/Home
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java16='export JAVA_HOME=$JAVA_16_HOME'
# default: java8 for running pyspark without any error
java8
# <<< setup java_home <<<
export SPARK_HOME=/usr/local/Cellar/apache-spark/3.1.2/libexec
export PATH=/usr/local/Cellar/apache-spark/3.1.2/bin:$PATH
#export PYSPARK_SUBMIT_ARGS="--master local[2] pyspark-shell"
#export PYSPARK_PYTHON=jupyter
#export PYSPARK_DRIVER_PYTHON='notebook'
Cần phải cài freetds
trước khi cài pymssql
brew install
Sau đó cài Pymssql được kéo trực tiếp từ github về
pip3 install git+https://github.com/pymssql/pymssql.git
Cầu nguyện cho mọi thứ work với nhau
./Learn PySpark
: Có thể đọc về các sử dụng cơ bản của PySpark ở đây./ETL
: Demo quá trình ETL dữ liệu từ source về data warehouse sẽ trông như thế nào. Có thể đọc cuốn Buiding A Data Warehouse with Example (Vincent Rainardi)
để hiểu các khái niệm cơ bản, về quy trình ETL dữ liệu hay build 1 data warehouse sẽ diễn ra như thế nào./ETL/Raw Data
: Chứa 1 file data với gần 10.000 dòng dữ liệu giao dịch (Chính là file SuperStore trong dữ liệu demo của Tableau). Data từ 1 file chính (customer_order.csv
) được cắt ra thành 5 file bằng nhau, mỗi file chứa khoảng 1998 dòng./ETL/SQL
: Chứa các schema databases của Source data, meta database, data warehouse./ETL/src
: Chứa source code mô phỏng quá trình source system thay đổi theo thời gian, và code mô phỏng quá trình handle các update, new creation trong source