GithubHelp home page GithubHelp logo

gp-init's Introduction

#Projet GeoPro Projet de géolocalisation à destination des commerciaux permettant de géolocaliser les professionnels affiliés à Pages Jaunes (cliens et prospects). Les informations de chaque établissement affiché sont liées aux activités et communes.

Section d'initialisation des données

Ce projet contient les scripts permettant d'initialiser les données pour l'outil GeoPro dans Elasticsearch. Un script shell est également présent : convert_utf8.sh ; il permet de convertir les fichiers sources (souvent en iso-8859-1) en UTF8, format pris en charge par Swallow.

##Fonctionnement Pour lancer l'import de données dans Elasticsearch :

  • configurer le traitement : éditer init-conf.json
    • configurer la partie elasticsearch du fichier :
      • url : indiquer l'url du serveur Elasticsearch avec son port
      • host : indiquer le nome de la machine hébergeant Elasticsearch
      • port : indiquer le port d'écoute Elasticsearch
      • number_of_replicas : vu la volumétrie traitée par GeoPro, éviter les réplicats. Cela ralentira légèrement la recherche mais économisera l'espace disque de la machine
      • number_of_shards : spécifier le nombre de resources allouées aux opérations de recherches Elasticsearch. Préférer un nombre équivalent aux processeurs physiques disponibles.
      • bulk_size : spécifie la taille des blocs envoyés au serveur (1000 par défaut)
      • index : important, spécifie le nom de l'index qui contiendra toutes les données de GeoPro
    • configurer la partie log :
      • level_values : ne pas modifier
      • level : la sensibilité de tracage des opérations : DEBUG/CRITICAL/ERROR/WARNING/INFO
      • dir : le répertoire ou seront stockés les logs
      • filename : le nom des fichiers de logs générés
      • max_filesize : la taille en octet maximal d'un fichier de log
      • max_files : le nombre maximum de fichiers de logs générés
  • Une fois la configuration effectuée, éditer le script shell de traitement d'import : init.sh
    • paramétrer le chemin du dossier contenant les données sources (fichiers CSV) DATA_PATH
    • paramétrer le nom de l'environnement virtuel python afin que celui utilisé soit en python 3.4 (si problème cf. note)
    • spécifier le type de traitement : init pour un traitement d'initialiation des données (première fois) ou update pour une mise à jour sur un socle déja existant
    • commenter ou décommenter les lignes à traiter en fonction du type de données à importer
  • Lancer le traitement depuis un terminal en se positionnant dans le dossier contenant le fichier init.sh et en exécutant ./init.sh

Note

  • Si aucun environnement virtual python (PEW) n'est paramétré, ou que python 3.4 est directement utilisé par la machine d'import, replacer "pew in $PEW_ENV python" par "python3.4" à chaque ligne de traitement.
  • Le script convert_utf8.sh permet de convertir tous les fichiers CSV au format ISO-8859-1 se trouvant dans le dossier data/ en format UTF8.

Compatibilité

Elasticsearch 1.7

##Requirements

  • Python 3.4
  • Swallow
  • DocOpt
  • Elasticsearch API Python

gp-init's People

Contributors

thomascgi avatar

Watchers

James Cloos avatar Thomas FALC'HER avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.