== Utilisation de DQ2 == * __Quand utiliser DQ2 ?__ [[BR]]Selon vos besoins, vous devrez obtenir des informations sur les données afin de les rapatrier ou de les utiliser à distance. DQ2 permet de réaliser des opérations de manipulation de dataset mais il est à utiliser avec retenue, ceci afin de ne pas saturer l'espace disque du LPSC.[[BR]] Plusieurs cas peuvent se présenter * Votre job doit utiliser des données stockées sur un SE distant. [[BR]]Si vous n'accordez pas d'importance à l'endroit ou le job s'exécute, faites le tourner sur un CE proche des données. Il est inutile dans ce cas de rapatrier vos données sur le SE du LPSC. Vous n'utiliserez DQ2 qu' afin d'obtenir des informations sur vos fichiers. * Vous souhaitez que votre job s'exécute sur le site du LPSC. [[BR]]Dans ce cas, si vous avez besoin d'un dataset précis, il faut utiliser DQ2 afin de demander le transfert d'un dataset sur un espace disque réservé du SE du LPSC. Cette demande de transfert s'appelle une souscription. * Vous souhaiter effectuer un job-test sur un échantillon réduit de données.[[BR]] Dans ce cas, utilisez DQ2 pour rapatrier sur votre compte local les fichiers qu'il vous faut pour votre job. * __Configurer DQ2 pour le site LPSC__ [[BR]][https://twiki.cern.ch/twiki/bin/view/Atlas/DistributedDataManagement DQ2] est l'outil officiel de manipulation des données d'ATLAS. Il est développé et maintenu par le groupe DDM.[[BR]]DQ2 est installé sur les UI du LPSC (la dernière version est sur lpsc-ui.in2p3.fr). * Initialiser l'environnement DQ2 au LPSC [[BR]] {{{ [lambert@lpsc-ui ~]$ source /usr/local/DQ2Client/setup.csh }}} * Configuration pour le site du LPSC {{{ [lambert@lpsc-ui ~]$ setenv DQ2_LOCAL_SITE_ID "LPSC" }}} * __Récuperer un dataset en local avec dq2__ [[BR]]Par exemple, récuperer un fichier AOD.021339._00001.pool.root.2 d'un dataset valid1.005107.pythia_Wtauhad.recon.AOD.e322_s412_b25_r385 sur le site de BNLPANDA. * '''dq2-get''' -s site -f file dataset {{{ [lambert@lpsc-ui ~]$ dq2-get -s BNLPANDA -D -f AOD.021339._00001.pool.root.2 valid1.005107.pythia_Wtauhad.recon.AOD.e322_s412_b25_r385 [lambert@lpsc-ui ~]$ ls AOD.021339._00001.pool.root.2 }}} ''-->Exercice: Trouver un dataset non vide avec [wiki:amiUse AMI] et rapatriez un de ses fichiers sur votre compte local'' * __Souscrire un dataset__ [[BR]]En théorie, vous pouvez demander le transfert d'un dataset sur un site avec la commande '''dq2-register-subscription''' [[BR]] En pratique, la manière officielle de procéder est de remplir ce [http://gridui02.usatlas.bnl.gov:25880/server/pandamon/query?mode=reqsubs0 formulaire] * __Lister les datasets présent sur le site LPSC__ * '''dq2-list-dataset-site''' site {{{ [lambert@lpsc-ui ~]$ dq2-list-dataset-site LPSC mc12.006895.AlpgenJimmyGamGamWithAAMassNp0.evgen.EVNT.v12000702_tid014701 calib0_valid1_V1.007061.singlepart_e_E100.recon.AOD.v13003003_tid017711 trig1_misal1_mc12.005181.PythiaZmumuJet.recon.ESD.v13003003_tid018043 }}} * __Lister les fichiers d'un dataset__ * '''dq2-list-files''' dataset {{{ [lambert@lpsc-ui ~]$ dq2-list-files user.flambert.testDataset user.flambert.testfileLFN 75f277aa-2e51-438d-8e7e-360e119131ee md5:adc279da3fba38268f09afee571a543e 28 total files: 1 total size: 28 date: 2008-05-23 13:15:07 }}} * __Déclarer un dataset__ [[BR]]Les datasets suivent une nomenclature très précise. Mais pour des données personnelles, vous pouvez très bien créer vos propres datasets * '''dq2-register-dataset''' dataset {{{ [lambert@lpsc-ui ~]$ dq2-register-dataset user.flambert.testDataset Dataset user.flambert.testDataset created. }}} * __Déclarer une localisation de dataset__ * '''dq2-register-location''' dataset site {{{ [lambert@lpsc-ui ~]$ dq2-register-location user.flambert.testDataset LPSC Dataset user.flambert.testDataset registered at LPSC }}} * __Déclarer des fichiers d'un dataset__ * '''dq2-register_files''' dataset lfn guid fs: md5:[[BR]] Les attributs taille du fichier et checksum sont maintenant requis {{{ [lambert@lpsc-ui ~]$ dpns-ls -l -rw-rw-r-- 1 102 102 28 May 23 09:55 user.flambert.testfile [lambert@lpsc-ui ~]$ md5sum user.flambert.testfile adc279da3fba38268f09afee571a543e user.flambert.testfile [lambert@lpsc-ui ~]$ dq2-register-files user.flambert.testDataset user.flambert.testfileLFN 75f277aa-2e51-438d-8e7e-360e119131ee fs:28 md5:adc279da3fba38268f09afee571a543e Dataset user.flambert.testDataset updated }}} ''-->Exercice: Créez votre dataset, déclarez le comme étant au LPSC et ajoutez y un fichier''[[BR]] ''-->Exercice: Vérifiez que votre dataset est au LPSC''[[BR]] ''-->Exercice: Vérifiez que votre fichier fait partie de votre dataset''[[BR]] ''-->Exercice: Récupérer votre dataset sur votre compte local'' * __Supprimer un dataset__ [[BR]]Les entrées dans la base DQ2 sont effacées mais vos fichiers sont toujours présents sur le SE * '''dq2-erase''' dataset {{{ [lambert@lpsc-ui ~]$ dq2-erase user.flambert.testDataset Dataset user.flambert.testDataset erased }}} ''-->Exercice: Supprimer votre dataset et vérifier qu'il est bien supprimer de DQ2'' * __Autre commandes dq2__ DQ2 fournit de nombreuses commandes. Vous pouvez obtenir de l'aide avec l'option --help. {{{ dq2-check-replica-consistency dq2-get-metadata dq2-list-files dq2-register-datasets-container dq2-close-dataset dq2-get-number-files dq2-list-subscription dq2-register-files dq2-delete-datasets dq2-get-replica-metadata dq2-list-subscription-info dq2-register-location dq2-delete-files dq2-list-dataset dq2-list-subscription-site dq2-register-subscription dq2-delete-replicas dq2-list-dataset-by-creationdate dq2-ls dq2-register-version dq2-delete-subscription dq2-list-dataset-replicas dq2-metadata dq2-reset-subscription dq2-destinations dq2-list-datasets-container dq2-ping dq2-reset-subscription-site dq2-erase dq2-list-dataset-site dq2-put dq2-sample dq2-freeze-dataset dq2-list-erased-datasets dq2-register-container dq2-sources dq2-get dq2-list-file-replicas dq2-register-dataset }}} [wiki:dataMgt up] ; [wiki:amiUse previous]