scala> val result = spark.read.text("hdfs://hdfs-namenode:8020/xmatchResRDD.txt")
result: org.apache.spark.sql.DataFrame = [value: string]
scala> result.count
res0: Long = 1002665
16/09/27 09:58:17 INFO scheduler.DAGScheduler: Job 2 finished: count at CrossMatch.scala:56, took 69.718721 s
16/09/27 09:58:17 INFO codegen.CodeGenerator: Code generated in 19.174098 ms
1002665
Drone est équivalent à Jenkins, cependant il est conçu pour fonctionner avec Docker ce qui facilite beaucoup son utilisation dans notre cas.
Il faut d’abord créer un fichier dronerc contenant des variable d’environement afin de configurer Drone :
REMOTE_DRIVER=gitlab
REMOTE_CONFIG=http://cdsgit.u-strasbg.fr?client_id=xxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxx
Configurons ensuite GitLab
Configuration de Drone dans GitLab
docker service create \
--mount type=bind,src=/mnt/gluster-docker/drone,dst=/var/lib/drone \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
--env REMOTE_DRIVER=gitlab --env REMOTE_CONFIG="http://cdsgit.u-strasbg.fr?client_id=1631916bc0db8e3e43b1b1860000c7c4076ae0fd080acd4415f52499b31e871b&client_secret=62febeec484824427f1657ed4f151570e89a5077ca3b9890573b18fc7601fbca" \
--publish=8000:8000 \
--name=drone \
drone/drone
Accéder ensuite à cette page : http://cds-stage-ms4:8000/authorize
Il suffit de créer un fichier .drone.yml à la racine du projet git organisé comme sur cet exemple :
publish:
docker:
repo: docker-in-jenkins
registry: cds-stage-ms1:5000
insecure: true
tag: latest
file: Dockerfile
Il est aussi possible de compiler n’import quel language en créant un Dockerfile approprié (c’est à dire contenant l’environement necessaire à la compilation)
build:
image: openjdk:alpine
commands:
- wget http://apache.mindstudios.com/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
- tar -zxvf apache-maven-3.3.9-bin.tar.gz
- ./apache-maven-3.3.9/bin/mvn -B package
On récupère l’image officielle openjdk on installe maven et on compile le JAR