Viya - SAS Data Connector to Hadoop et SAS Data Connect Accelerator for Hadoop

Cet article en deux mots :

Maîtriser le transfert de données entre Hive et SAS Cloud Analytic Services est essentiel pour l'efficacité de vos traitements. De l'utilisation classique du connecteur série au mode parallèle avec SAS Embedded Process, découvrez comment configurer vos caslibs et exploiter le mécanisme MultiNode pour mobiliser toute la puissance de vos nœuds CAS. Un guide technique indispensable pour configurer vos environnements et accélérer vos flux de données Hadoop.

Avant de commencer, il faut distinguer SAS Data Connector to HadoopFramework open-source permettant le stockage distribué (HDFS) et le traitement de données massives sur des clusters de serveurs, souvent utilisé avec SAS Viya pour l'analyse Big Data.  et SAS Data Connect Accelerator for HadoopFramework open-source permettant le stockage distribué (HDFS) et le traitement de données massives sur des clusters de serveurs, souvent utilisé avec SAS Viya pour l'analyse Big Data.  :

 Création de la caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance. hive :

1
2
3
4
5
caslib myCashive desc="HIVE Caslib Serial"
datasource=(SRCTYPE="hadoop",server="monserveurhive"
HADOOPCONFIGDIR="/opt/sas/viya/config/data/hadoop/conf",
HADOOPJARPATH="/opt/sas/viya/config/data/hadoop/lib",
schema="default",dfDebug=sqlinfo);
A propos du mode de transfert  Dans l'exemple ci-dessus, je n'ai pas précisé le mode de transfert des données de Hive vers CAS ( option dataTransferMode). Par défaut, le mode est définit à SERIAL, c'est à dire que le chargement des données se fait via SAS Data Connector to HadoopFramework open-source permettant le stockage distribué (HDFS) et le traitement de données massives sur des clusters de serveurs, souvent utilisé avec SAS Viya pour l'analyse Big Data.. viya-cas-dataTransferMode-serial Vous pouvez définir l'option dataTransferMode à PARALLEL (et ainsi utiliser les SAS Embedded Process) A propos du MultiNode Data Transfer A  partir de SAS Viya 3.3, un nouveau mécanisme de transfert de données «MultiNode Data Transfer» a été mis en place pour transférer des données entre la source de données et CAS), en plus des modes de transfert de données SERIAL et PARALLEL . Ce mécanisme est une extension du mode Serial Data Transfer. En mode de transfert de données multi-nœuds, chaque agent CAS effectue une connexion simultanée pour lire et écrire des données dans HadoopFramework open-source permettant le stockage distribué (HDFS) et le traitement de données massives sur des clusters de serveurs, souvent utilisé avec SAS Viya pour l'analyse Big Data.. Aussi, l'option NUMREADNODES (et NUMWRITENODES) permet de spécifier le nombre de node CAS à utiliser pour le chargement. Définir cette option sur une valeur autre que 1 (valeur par défaut) permet à SAS Data Connector to HadoopFramework open-source permettant le stockage distribué (HDFS) et le traitement de données massives sur des clusters de serveurs, souvent utilisé avec SAS Viya pour l'analyse Big Data. d'utiliser plusieurs nœuds pour charger des données dans CAS. Vous pouvez spécifier n'importe quelle valeur jusqu'au nombre total de nodes disponibles. Vous pouvez spécifier la valeur 0 pour utiliser tous les nodes disponibles.  Si NUMREADNODES ou NUMWRITENODES est une valeur autre que 1 et DATATRANSFERMODE = "AUTO", SAS tente d'abord de transférer les données en parallèle à l'aide de SAS Data Connect Accelerator. Si le transfert parallèle échoue, SAS tente de transférer des données avec le connecteur de données en utilisant le nombre spécifié de nodes  CAS. Si plusieurs nodes ne sont pas disponibles, SAS transfère les données en série. Notes Comme indiqué au début de cet article, le chargement de données en parallèle à l'aide de SAS Embedded Process nécessite une licence distincte pour SAS Data Connect Accelerator for HadoopFramework open-source permettant le stockage distribué (HDFS) et le traitement de données massives sur des clusters de serveurs, souvent utilisé avec SAS Viya pour l'analyse Big Data. et une plateforme Viya MPPLe Massively Parallel Processing (MPP) est une architecture informatique où plusieurs processeurs (ou nœuds de calcul) travaillent simultanément sur différentes parties d'une même tâche complexe. Contrairement au traitement séquentiel, le MPP divise les données en fragments gérés en parallèle, réduisant drastiquement le temps d'exécution.

Dans l'écosystème SAS Viya 4, l'architecture MPP est incarnée par le moteur CAS (Cloud Analytic Services). Elle permet de distribuer les calculs analytiques et d'IA sur l'ensemble d'un cluster Kubernetes ou OpenShift, offrant une puissance de traitement quasi illimitée pour les Big Data.
. A noter également que, JAVA_HOME doit pointer vers l'emplacement du JRE Java 8 installé et LIBJVM.SO doit être spécifié dans LD_LIBRARY_PATH. Précisez ces paramètres dans la configuration CAS :
1
2
export JAVA_HOME=/usr/java/latest/jre
export LD_LIBRARY_PATH=$JAVA_HOME/lib/amd64/server:$LD_LIBRARY_PATH

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.