/****************************************************************************** * Programme : Adieu l'échantillonnage : Analysez 100% de vos Big Data Hive pour des modèles statistiques plus robustes * Reference : CONNECFB9B * Source : https://www.wearecas.eu/fr/sampleCode/CONNECFB9B ******************************************************************************/ /* --- BLOC 1 --- */ /* Connexion basique à Hive sans accès HDFS direct */ /* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */ caslib hvcaslib_basic desc='Caslib Hadoop Basique' dataSource=(srctype='hadoop', server='your_hive_server', username='your_username', password='your_password', schema='your_schema', bulkload=false); /* Charger et activer le caslib */ proc cas; session casauto; caslib _all_ assign; run; /* Afficher les informations sur le caslib */ proc cas; session casauto; caslib hvcaslib_basic info; run; quit; /* --- BLOC 2 --- */ /* Connexion à Hive avec découverte de service dynamique via ZooKeeper */ /* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */ caslib zoocaslib desc='Caslib ZooKeeper Hadoop' dataSource=(srctype='hadoop', username='your_username', password='your_password', dataTransferMode='serial', hadoopJarPath='', hadoopConfigDir='', zooKeeperQuorum=",,", zooKeeperNamespace='hiveserver2', zooKeeperPort=2181, schema='your_schema'); /* Charger et activer le caslib */ proc cas; session casauto; caslib _all_ assign; run; /* Afficher les informations sur le caslib */ proc cas; session casauto; caslib zoocaslib info; run; quit; /* --- BLOC 3 --- */ /* Connexion à Hive avec authentification Kerberos */ /* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */ caslib hadoopkrb desc='Caslib Hadoop Kerberos' dataSource=(srctype='hadoop', server='your_hive_server', schema='your_schema', use_ssl=true, krbAuthType=2, krbHostFQDN='', krbRealm='', krbServiceName='hive', bulkload=false); /* Charger et activer le caslib */ proc cas; session casauto; caslib _all_ assign; run; /* Afficher les informations sur le caslib */ proc cas; session casauto; caslib hadoopkrb info; run; quit; /* --- BLOC 4 --- */ /* Création d'une table CAS de démonstration pour simuler une source Hive */ data casuser.myHDdata; input id $ name $ value; datalines; 1 Apple 10 2 Banana 20 3 Cherry 30 4 Date 40 ; run; /* Connexion à Hive avec chargement parallèle activé */ /* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */ caslib hvcaslib_parallel desc='Caslib Hadoop avec Chargement Parallèle' dataSource=(srctype='hadoop', server='your_hive_server', schema='your_schema', username='your_username', password='your_password', dataTransferMode="parallel", jobManagementURL='', hadoopConfigDir='', bulkLoad=false); /* Charger et activer le caslib */ proc cas; session casauto; caslib _all_ assign; run; /* Charger la table 'myHDdata' de Hive (simulée ici par la table CAS) dans CAS */ /* En pratique, 'myHDdata' serait une table existante dans Hive */ proc casutil; list files incaslib="hvcaslib_parallel"; load casdata="myHDdata" incaslib="hvcaslib_parallel" outcaslib="casuser" casout="HDdata_from_hvcaslib_parallel"; list tables incaslib="casuser"; contents casdata="HDdata_from_hvcaslib_parallel" incaslib="casuser"; run; quit;