1. CONVERTING THE NOTEBOOK TO PYTHON SCRIPT
jupyter nbconvert --to=script upload-data.ipynb
  1. USING ARGPARSE
parser = argparse.ArgumentParser(description="Ingest CSV data to Postgres")

parser.add_argument("--user", help = "user name for postgres")
parser.add_argument("--password", help = "password name for postgres")
parser.add_argument("--host", help = "host name for postgres")
parser.add_argument("--port", help = "port name for postgres")
parser.add_argument("--db", help = "database name for postgres")
parser.add_argument("--table_name", help = "table name for postgres")
parser.add_argument("--url", help = "url of csv file")

args = parser.parse_args()
  1. DROPPING TABLE AND RUNNING THE SCRIPT
URL="<https://github.com/DataTalksClub/nyc-tlc-data/releases/download/yellow/yellow_tripdata_2021-01.csv.gz>"

python ingest_data.py \\
  --user=root \\
  --password=root \\
  --host=localhost \\
  --port=5432 \\
  --db=ny_taxi \\
  --table_name=yellow_taxi_trips \\
  --url=${URL}
URL="<https://github.com/DataTalksClub/nyc-tlc-data/releases/download/misc/taxi_zone_lookup.csv>"

python ingest_taxi_zone_data.py \\
  --user=root \\
  --password=root \\
  --host=localhost \\
  --port=5432 \\
  --db=ny_taxi \\
  --table_name=taxi_zone \\
  --url=${URL}

Lưu ý rằng ở trên, hostlocalhost vì ta đang chạy trên máy local.

  1. DOCKERIZING INGESTION SCRIPT

Ta build một image mà khi chạy container từ image đó thì sẽ tự động chạy file ingest_data.py để đẩy dữ liệu vào database