Los ejemplos utilizan datos generados (datalines) o marcadores de posición para las conexiones a fuentes externas (Hive).
1 Bloque de código
CASLIB Data
Explicación : Este ejemplo muestra la creación de un caslib para conectarse a un servidor Hive sin utilizar el descubrimiento de servicio dinámico (ZooKeeper) ni el acceso HDFS. Se especifica la opción `bulkload=false` porque el acceso HDFS no está configurado. Reemplace `your_hive_server`, `your_username`, `your_password` y `your_schema` con su propia información de conexión.
¡Copiado!
/* 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 */
Explicación : Este ejemplo configura un caslib Hadoop que utiliza ZooKeeper para el descubrimiento de servicio dinámico. Es ideal para entornos HiveServer2 en modo de alta disponibilidad. Las opciones `zooKeeperQuorum`, `zooKeeperNamespace` y `zooKeeperPort` se utilizan para especificar la información de conexión a ZooKeeper. Asegúrese de reemplazar los marcadores de posición con los valores reales de su entorno, incluidos los caminos a los directorios de jars y configuración de Hadoop, así como la información de ZooKeeper y autenticación.
¡Copiado!
/* 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 */
Explicación : Este ejemplo ilustra la conexión a un servidor Hive configurado con autenticación Kerberos. Las opciones `krbAuthType`, `krbHostFQDN`, `krbRealm` y `krbServiceName` son esenciales para transmitir las propiedades de conexión Kerberos al controlador Simba. Reemplace los marcadores de posición como `your_hive_server`, `your_schema`, `myhost.company.com` y `example.com` con los valores apropiados de su entorno Kerberos.
¡Copiado!
/* 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 Bloque de código
PROC CASUTIL Data
Explicación : Este ejemplo ilustra la configuración de un caslib para la carga paralela de datos desde Hive a CAS, y luego utiliza `PROC CASUTIL` para realizar esta carga. Para hacer este ejemplo autónomo, primero se crea una tabla CAS llamada `myHDdata` para simular los datos que normalmente se leerían desde Hive. Las opciones `dataTransferMode="parallel"`, `jobManagementURL`, `hadoopConfigDir` y `bulkLoad=false` son cruciales para activar la carga paralela. Reemplace los marcadores de posición como `your_hive_server`, `your_schema`, `your_username`, `your_password`, `Livy_URL` y `path-to-EP-config-files` con los valores específicos de su instalación de Hadoop/Hive.
¡Copiado!
/* 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 */
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.