28 Septembre 2016

Service de compilation drone fonctionnel

Exemple de fichier .drone.yml

ce fichier contient les instructions pour compiler un programme Scala avec maven et publier le jar sur un serveur avec rsync

build:
image: openjdk:alpine
commands:
    - sed -i -e 's/v3\.4/edge/g' /etc/apk/repositories
    - apk add -U maven
    - mvn -B package
    
deploy:
rsync:
    user: trehiou
    host: 130.79.128.186
    source: target/
    target: /mnt/gluster-docker/drone-target
    delete: false
    recursive: false
    include:
    - "*.jar"
    exclude:
    - "*"

Test de performance

Préprocessing Java + RDD

Fichier 1

real    0m32.469s
user    0m9.636s
sys     0m0.372s

Fichier 2

real    0m12.605s
user    0m7.992s
sys     0m0.388s

Préprocessing Java + Parquet

Fichier 1

real    0m24.687s
user    0m13.940s
sys     0m0.532s

Fichier 2

real    0m19.452s
user    0m12.088s
sys     0m0.552s

Java + RDD

real    0m21.484s
user    0m11.192s
sys     0m0.552s

Scala + parquets

real    0m30.511s
user    0m18.304s
sys     0m0.624s

Comptage fichier RDD

real    0m10.751s
user    0m7.756s
sys     0m0.348s

Comptage fichier Parquet

real    0m9.612s
user    0m10.780s
sys     0m0.424s

Au vu des résultat lors d’un parcours simple des fichier la lecture du fichier parquet semble légerement plus rapide. La compression ne cause donc pas la perte de performances. Il est donc très probable que ce soit dû au manque d’un HashPartitioner dans le programme Scala ce qui fait qu’il y a plus de traffic réseau et donc plus de temps avant d’avoir un résultat.