optNetwork connectedComponents

Análisis de Comunidades Fuertemente Conectadas (Alto Volumen)

Scénario de test & Cas d'usage

Contexto empresarial

Una plataforma de redes sociales necesita identificar 'cámaras de eco' o comunidades donde todos los miembros se siguen mutuamente (Componentes Fuertemente Conectados). Dado el volumen de datos, se simula una carga de trabajo que justificaría el uso de procesamiento distribuido.
Sobre el conjunto : optNetwork

Análisis de redes y algoritmos de grafos.

Descubrir todas las acciones de optNetwork
Preparación de datos

Generación simulada de un grafo dirigido con ciclos cerrados (comunidades) y rutas lineales.

¡Copiado!
1DATA mycas.social_graph;
2 INPUT usuario_origen $ usuario_destino $;
3 DATALINES;
4 User1 User2
5 User2 User3
6 User3 User1
7 User4 User5
8 User5 User6
9 ;
10RUN;

Étapes de réalisation

1
Verificación de la carga de datos.
¡Copiado!
1 
2PROC CAS;
3 
4TABLE.tableInfo / TABLE="social_graph";
5 
6RUN;
7 
2
Ejecución con dirección explícita, algoritmo DFS y activación del modo distribuido para simular entorno de alto rendimiento.
¡Copiado!
1PROC CAS;
2 optNetwork.connectedComponents /
3 direction="DIRECTED"
4 algorithm="DFS"
5 distributed=true
6 links={name="social_graph", vars={from="usuario_origen", to="usuario_destino"}}
7 out={name="ResumenComunidades", replace=true}
8 outNodes={name="DetalleUsuarios", replace=true};
9RUN;

Resultado esperado


La tabla 'DetalleUsuarios' debe identificar a User1, User2 y User3 como un único componente fuertemente conectado (debido al ciclo 1->2->3->1). User4, User5 y User6 tendrán IDs de componentes diferentes o individuales dependiendo de si forman ciclos o son solo rutas. El parámetro 'distributed=true' valida que la acción se ejecute sin errores en la arquitectura distribuida.