Publicado el :
Acceso a datos CREATION_INTERNE

Conector de datos Hadoop

Este código también está disponible en: Deutsch English Français
En espera de validación
El conector de datos Hadoop facilita la transferencia de datos entre los almacenes de datos Hive y SAS© Cloud Analytic Services (CAS) en la plataforma SAS© Viya. Gestiona las conexiones a tablas Hive, permitiendo la carga de datos en CAS. Las funcionalidades clave incluyen la conexión con o sin descubrimiento de servicio dinámico (a través de ZooKeeper), la autenticación Kerberos y la capacidad de carga de datos en paralelo. La carga en paralelo requiere la instalación de las tecnologías SAS© In-Database y el proceso SAS© Embedded. El conector soporta los tipos de datos Hive, convirtiéndolos a tipos de datos CAS apropiados, con una gestión específica para datos VARCHAR y tipos enteros en términos de longitud y precisión. Desde la versión 2023.10, SAS© utiliza el conector JDBC Simba Apache Hive para la conectividad.
Análisis de datos

Type : CREATION_INTERNE


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!
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 Bloque de código
CASLIB Data
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!
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 Bloque de código
CASLIB Data
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!
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 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!
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;
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.