Publié le :
Accès aux données CREATION_INTERNE

Connecteur de données Hadoop

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le connecteur de données Hadoop facilite le transfert de données entre les entrepôts de données Hive et SAS© Cloud Analytic Services (CAS) sur la plateforme SAS© Viya. Il gère les connexions aux tables Hive, permettant le chargement de données dans CAS. Les fonctionnalités clés incluent la connexion avec ou sans découverte de service dynamique (via ZooKeeper), l'authentification Kerberos, et la capacité de chargement de données en parallèle. Le chargement parallèle nécessite l'installation des technologies SAS© In-Database et du processus SAS© Embedded. Le connecteur supporte les types de données Hive en les convertissant vers des types de données CAS appropriés, avec une gestion spécifique pour les données VARCHAR et les types entiers en termes de longueur et de précision. Depuis la version 2023.10, SAS© utilise le connecteur JDBC Simba Apache Hive pour la connectivité.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) ou des placeholders pour les connexions à des sources externes (Hive).

1 Bloc de code
CASLIB Data
Explication :
Cet exemple montre la création d'un caslib pour se connecter à un serveur Hive sans utiliser la découverte de service dynamique (ZooKeeper) ni l'accès HDFS. L'option `bulkload=false` est spécifiée car l'accès HDFS n'est pas configuré. Remplacez `your_hive_server`, `your_username`, `your_password`, et `your_schema` par vos propres informations de connexion.
Copié !
1/* Connexion basique à Hive sans accès HDFS direct */
2/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
3 
4caslib hvcaslib_basic desc='Caslib Hadoop Basique'
5 dataSource=(srctype='hadoop',
6 server='your_hive_server',
7 username='your_username',
8 password='your_password',
9 schema='your_schema',
10 bulkload=false);
11 
12/* Charger et activer le caslib */
13PROC CAS;
14 SESSION casauto;
15 caslib _all_ assign;
16RUN;
17 
18/* Afficher les informations sur le caslib */
19PROC CAS;
20 SESSION casauto;
21 caslib hvcaslib_basic info;
22RUN;
23QUIT;
2 Bloc de code
CASLIB Data
Explication :
Cet exemple configure un caslib Hadoop qui utilise ZooKeeper pour la découverte de service dynamique. Il est idéal pour les environnements HiveServer2 en mode haute disponibilité. Les options `zooKeeperQuorum`, `zooKeeperNamespace` et `zooKeeperPort` sont utilisées pour spécifier les informations de connexion à ZooKeeper. Assurez-vous de remplacer les placeholders par les valeurs réelles de votre environnement, y compris les chemins vers les répertoires de jars et de configuration Hadoop, ainsi que les informations ZooKeeper et d'authentification.
Copié !
1/* Connexion à Hive avec découverte de service dynamique via ZooKeeper */
2/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
3 
4caslib zoocaslib desc='Caslib ZooKeeper Hadoop'
5 dataSource=(srctype='hadoop',
6 username='your_username',
7 password='your_password',
8 dataTransferMode='serial',
9 hadoopJarPath='<Hadoop_jar_path_directory>',
10 hadoopConfigDir='<Hadoop_configuration_directory>',
11 zooKeeperQuorum="<node1.company.com>,<node2.company.com>,<node3.company.com>",
12 zooKeeperNamespace='hiveserver2',
13 zooKeeperPort=2181,
14 schema='your_schema');
15 
16/* Charger et activer le caslib */
17PROC CAS;
18 SESSION casauto;
19 caslib _all_ assign;
20RUN;
21 
22/* Afficher les informations sur le caslib */
23PROC CAS;
24 SESSION casauto;
25 caslib zoocaslib info;
26RUN;
27QUIT;
3 Bloc de code
CASLIB Data
Explication :
Cet exemple illustre la connexion à un serveur Hive configuré avec l'authentification Kerberos. Les options `krbAuthType`, `krbHostFQDN`, `krbRealm`, et `krbServiceName` sont essentielles pour transmettre les propriétés de connexion Kerberos au pilote Simba. Remplacez les placeholders comme `your_hive_server`, `your_schema`, `myhost.company.com`, et `example.com` par les valeurs appropriées de votre environnement Kerberos.
Copié !
1/* Connexion à Hive avec authentification Kerberos */
2/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
3 
4caslib hadoopkrb desc='Caslib Hadoop Kerberos'
5 dataSource=(srctype='hadoop',
6 server='your_hive_server',
7 schema='your_schema',
8 use_ssl=true,
9 krbAuthType=2,
10 krbHostFQDN='<myhost.company.com>',
11 krbRealm='<example.com>',
12 krbServiceName='hive',
13 bulkload=false);
14 
15/* Charger et activer le caslib */
16PROC CAS;
17 SESSION casauto;
18 caslib _all_ assign;
19RUN;
20 
21/* Afficher les informations sur le caslib */
22PROC CAS;
23 SESSION casauto;
24 caslib hadoopkrb info;
25RUN;
26QUIT;
4 Bloc de code
PROC CASUTIL Data
Explication :
Cet exemple illustre la configuration d'un caslib pour le chargement parallèle de données depuis Hive vers CAS, puis utilise `PROC CASUTIL` pour effectuer ce chargement. Pour rendre cet exemple autonome, une table CAS nommée `myHDdata` est d'abord créée pour simuler les données qui seraient normalement lues depuis Hive. Les options `dataTransferMode="parallel"`, `jobManagementURL`, `hadoopConfigDir` et `bulkLoad=false` sont cruciales pour activer le chargement parallèle. Remplacez les placeholders comme `your_hive_server`, `your_schema`, `your_username`, `your_password`, `Livy_URL`, et `path-to-EP-config-files` par les valeurs spécifiques à votre installation Hadoop/Hive.
Copié !
1/* Création d'une table CAS de démonstration pour simuler une source Hive */
2DATA casuser.myHDdata;
3 INPUT id $ name $ value;
4 DATALINES;
51 Apple 10
62 Banana 20
73 Cherry 30
84 Date 40
9;
10RUN;
11 
12/* Connexion à Hive avec chargement parallèle activé */
13/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
14 
15caslib hvcaslib_parallel desc='Caslib Hadoop avec Chargement Parallèle'
16 dataSource=(srctype='hadoop',
17 server='your_hive_server',
18 schema='your_schema',
19 username='your_username',
20 password='your_password',
21 dataTransferMode="parallel",
22 jobManagementURL='<Livy_URL>',
23 hadoopConfigDir='<path-to-EP-config-files>',
24 bulkLoad=false);
25 
26/* Charger et activer le caslib */
27PROC CAS;
28 SESSION casauto;
29 caslib _all_ assign;
30RUN;
31 
32/* Charger la table 'myHDdata' de Hive (simulée ici par la table CAS) dans CAS */
33/* En pratique, 'myHDdata' serait une table existante dans Hive */
34PROC CASUTIL;
35 list files incaslib="hvcaslib_parallel";
36 load casdata="myHDdata" incaslib="hvcaslib_parallel" outcaslib="casuser"
37 casout="HDdata_from_hvcaslib_parallel";
38 list tables incaslib="casuser";
39 contents casdata="HDdata_from_hvcaslib_parallel" incaslib="casuser";
40RUN;
41QUIT;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.

Documentation liée : Accès aux données

Sujet / Mot-cléLien vers la ressource
DOC FedSQL fr/sampleCode/FEDSQLD493
DOC Définitions des Moteurs SAS fr/sampleCode/DEFINI88E2
DOC Bibliothèques SAS par Défaut fr/sampleCode/BIBLIOB755
DOC Fonctionnement des Moteurs avec les Fichiers fr/sampleCode/FONCTI81D4
DOC Caractéristiques des moteurs SAS fr/sampleCode/CARACTABC0
DOC Définitions des Moteurs SAS fr/sampleCode/DEFINI6352