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!
/* 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;
1
/* Connexion basique à Hive sans accès HDFS direct */
2
/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
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!
/* 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='<Hadoop_jar_path_directory>',
hadoopConfigDir='<Hadoop_configuration_directory>',
zooKeeperQuorum="<node1.company.com>,<node2.company.com>,<node3.company.com>",
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;
1
/* Connexion à Hive avec découverte de service dynamique via ZooKeeper */
2
/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
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!
/* 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='<myhost.company.com>',
krbRealm='<example.com>',
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;
1
/* Connexion à Hive avec authentification Kerberos */
2
/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
3
4
caslib 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 */
16
PROC CAS;
17
SESSION casauto;
18
caslib _all_ assign;
19
RUN;
20
21
/* Afficher les informations sur le caslib */
22
PROC CAS;
23
SESSION casauto;
24
caslib hadoopkrb info;
25
RUN;
26
QUIT;
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!
/* 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='<Livy_URL>',
hadoopConfigDir='<path-to-EP-config-files>',
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;
1
/* Création d'une table CAS de démonstration pour simuler une source Hive */
2
DATA casuser.myHDdata;
3
INPUT id $ name $ value;
4
DATALINES;
5
1 Apple 10
6
2 Banana 20
7
3 Cherry 30
8
4 Date 40
9
;
10
RUN;
11
12
/* Connexion à Hive avec chargement parallèle activé */
13
/* Les valeurs entre crochets angulaires (<>) doivent être remplacées par vos informations */
14
15
caslib 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 */
27
PROC CAS;
28
SESSION casauto;
29
caslib _all_ assign;
30
RUN;
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 */
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.