Skip to content
No description, website, or topics provided.
Scala Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
project
readme-assets
src/main/scala/warehouse
.gitignore
README.md
Zeppelin_Analysis.json
build.sbt
schema.pdf

README.md

Data warehouse

schema

Tworzenie jara

  1. Stwórz obiekt ETLa z metodą main w pakiecie executables. Wykorzystaj klasę ETL. Ważne żeby dodać enableHiveSupport() i parametryzować ścieżki do plików jak w przykładzie. 1
  2. Wybierz File > Project Structure > Artifacts Kliknij + w lewym górnym rogu. Wybierz JAR a następnie empty 2
  3. Kliknij + wybierz Module Output a następnie data-warehouse 3
  4. Wybierz Build > Build Artifacts.... Z listy wybierz swojego jara i kliknij Build. 4
  5. Jar zostanie umieszczony w folderze out/artifcats

Odpalanie na klastrze

  1. wgraj pliki wejściowe na swój bucket do folderu warehouse-input na google storage:

     AirQuality.csv
     CityofLondonPoliceOutcomes.txt
     CityofLondonPoliceRecords.csv
     MetropolitanPoliceServiceOutcomes.txt
     MetropolitanPoliceServiceRecords.csv
     Norm.csv
     Source.csv
    

Pliki Norm.csv oraz Source.csv znajduja się w katalogu src/main/scala/warehouse/data

  1. z shella VMki na klastrze przekopiuj pliki z bucketa na klaster

     gsutil cp -r gs://<bucket-name>/warehouse-input .
    
  2. stwórz folder na pliki wejściowe na hdfs

     hadoop fs -mkdir -p input
    
  3. przekopiuj pliki wejściowe z klastra na hdfs

     hadoop fs -copyFromLocal warehouse-input/* input/
    
  4. (opcjonalnie) przekopiuj jara na klaster

     gsutil cp -r gs://<bucket-name>/etl.jar .
    
  5. odpal spark-shella i włącz tryp wklejania

     spark-shell 
     :paste
    
  6. wklej zawartość pliku SparkShellLoad.scala

  7. klinij enter i crtl + d, obiekty powinny się utworzyć

  8. stwórz schemat tabel

     val schema = new SchemaCreator(spark)
     schema.createAll()
    
  9. wyjdź ze spark shella crl + d

  10. odpal etla wskazując ścieżkę do maina. PRZYKŁAD:

     spark-submit --class warehouse.executables.TimeTableEtl \
     --master yarn --num-executors 5 --driver-memory 512m \
     --executor-memory 512m --executor-cores 1 etl.jar input true
    

zmieniająć parametr --class na jedną z klas w executables uruchamiamy wybranego ETLA Ostatnie dwa argumenty oznaczają

  1. folder z plikami wejściowymi
  2. czy używać małych wersji plików

Odpalanie wszystkiego

spark-submit --class warehouse.executables.TimeTableEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

spark-submit --class warehouse.executables.SourceTableEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

spark-submit --class warehouse.executables.AirPollutionTypeEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

spark-submit --class warehouse.executables.CrimeTypeEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

spark-submit --class warehouse.executables.LocationEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

spark-submit --class warehouse.executables.OutcomeTypeEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

spark-submit --class warehouse.executables.CrimeTableEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

spark-submit --class warehouse.executables.AirQualityTableEtl \
--master yarn --num-executors 5 --driver-memory 512m \
--executor-memory 512m --executor-cores 1 etl.jar input false

Zeppelin

Zaimportuj plik Zeppelin_Analysis.json do Zeppelina i uruchom.

You can’t perform that action at this time.