Veröffentlicht am :
Datenzugriff CREATION_INTERNE

Hadoop-Datenkonnektor

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Der Hadoop-Datenkonnektor erleichtert den Datentransfer zwischen Hive-Data Warehouses und den SAS© Cloud Analytic Services (CAS) auf der SAS© Viya-Plattform. Er verwaltet Verbindungen zu Hive-Tabellen und ermöglicht das Laden von Daten in CAS. Zu den Hauptfunktionen gehören die Verbindung mit oder ohne dynamische Dienstentdeckung (über ZooKeeper), Kerberos-Authentifizierung und die Möglichkeit zum parallelen Laden von Daten. Für das parallele Laden ist die Installation der SAS© In-Database-Technologien und des SAS© Embedded-Prozesses erforderlich. Der Konnektor unterstützt Hive-Datentypen, indem er diese in geeignete CAS-Datentypen umwandelt, mit einer spezifischen Handhabung für VARCHAR-Daten und Integer-Typen hinsichtlich Länge und Präzision. Seit Version 2023.10 verwendet SAS© den Simba Apache Hive JDBC-Konnektor für die Konnektivität.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) oder Platzhalter für Verbindungen zu externen Quellen (Hive).

1 Codeblock
CASLIB Data
Erklärung :
Dieses Beispiel zeigt die Erstellung einer Caslib für die Verbindung zu einem Hive-Server, ohne dynamische Dienstentdeckung (ZooKeeper) oder HDFS-Zugriff zu verwenden. Die Option `bulkload=false` ist angegeben, da kein HDFS-Zugriff konfiguriert ist. Ersetzen Sie `your_hive_server`, `your_username`, `your_password` und `your_schema` durch Ihre eigenen Verbindungsinformationen.
Kopiert!
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 Codeblock
CASLIB Data
Erklärung :
Dieses Beispiel konfiguriert eine Hadoop-Caslib, die ZooKeeper für die dynamische Dienstentdeckung verwendet. Dies ist ideal für HiveServer2-Umgebungen im Hochverfügbarkeitsmodus. Die Optionen `zooKeeperQuorum`, `zooKeeperNamespace` und `zooKeeperPort` werden verwendet, um die Verbindungsinformationen zu ZooKeeper anzugeben. Stellen Sie sicher, dass Sie die Platzhalter durch die tatsächlichen Werte Ihrer Umgebung ersetzen, einschließlich der Pfade zu den Hadoop-Jar- und Konfigurationsverzeichnissen sowie den ZooKeeper- und Authentifizierungsinformationen.
Kopiert!
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 Codeblock
CASLIB Data
Erklärung :
Dieses Beispiel veranschaulicht die Verbindung zu einem Hive-Server, der mit Kerberos-Authentifizierung konfiguriert ist. Die Optionen `krbAuthType`, `krbHostFQDN`, `krbRealm` und `krbServiceName` sind wesentlich, um die Kerberos-Verbindungseigenschaften an den Simba-Treiber zu übermitteln. Ersetzen Sie Platzhalter wie `your_hive_server`, `your_schema`, `myhost.company.com` und `example.com` durch die entsprechenden Werte Ihrer Kerberos-Umgebung.
Kopiert!
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 Codeblock
PROC CASUTIL Data
Erklärung :
Dieses Beispiel veranschaulicht die Konfiguration einer Caslib für das parallele Laden von Daten von Hive nach CAS und verwendet dann `PROC CASUTIL`, um diesen Ladevorgang durchzuführen. Um dieses Beispiel eigenständig zu gestalten, wird zunächst eine CAS-Tabelle namens `myHDdata` erstellt, um die Daten zu simulieren, die normalerweise aus Hive gelesen würden. Die Optionen `dataTransferMode="parallel"`, `jobManagementURL`, `hadoopConfigDir` und `bulkLoad=false` sind entscheidend für die Aktivierung des parallelen Ladens. Ersetzen Sie Platzhalter wie `your_hive_server`, `your_schema`, `your_username`, `your_password`, `Livy_URL` und `path-to-EP-config-files` durch die spezifischen Werte Ihrer Hadoop/Hive-Installation.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.