Publicado el :

Modificación del Esquema de la Base de Datos Netezza para CI360

Este código también está disponible en: Deutsch English Français
Attention : Este código requiere privilegios de administrador.
El script utiliza una conexión pass-through a través de PROC SQL para conectarse a una base de datos Netezza. Ejecuta instrucciones DDL (Data Definition Language) para alterar tres tablas existentes (cdm_contact_history, cdm_response_history, cdm_task_detail) agregando nuevas columnas. Además, crea dos nuevas tablas (cdm_segment_test y cdm_segment_test_x_segment) necesarias para el modelo de datos actualizado. La información de conexión se parametriza mediante variables macro.
Análisis de datos

Type : EXTERNE


El script no utiliza ningún dato SAS. Opera exclusivamente en tablas de una base de datos externa Netezza, modificando su estructura (esquema).

1 Bloque de código
Macro
Explicación :
Este bloque define variables macro para almacenar la información de conexión (usuario, contraseña, nombre de la base de datos, servidor) a la base de datos Netezza. Esto permite parametrizar el script sin modificar el código principal.
¡Copiado!
1/*======================================================================*/
2/* Enter Customer Specific Target Source Connection Values - Netezza */
3/*======================================================================*/
4 
5%let user = ; /* Netezza User */
6%let pass = ; /* Netezza Password */
7%let db = ; /* Netezza Database */
8%let server = ; /* Netezza Server */
2 Bloque de código
PROC SQL
Explicación :
Este bloque utiliza el procedimiento PROC SQL para conectarse a la base de datos Netezza usando las macros definidas previamente. Luego ejecuta comandos SQL nativos a través de la cláusula EXECUTE ... BY NETEZZA para alterar y crear tablas. La opción NOERRORSTOP asegura que el script continúe incluso si un comando falla. La conexión se cierra posteriormente con DISCONNECT.
¡Copiado!
1PROC SQL NOERRORSTOP;
2 
3CONNECT TO NETEZZA (USER=&USER PASS=&PASS DB=&DB SERVER=&SERVER);
4 
5/*** cdm_contact_history ***/
6EXECUTE(ALTER TABLE cdm_contact_history ADD control_group_flg CHAR(1) NULL) BY NETEZZA;
7 
8/*** cdm_response_history ***/
9EXECUTE(ALTER TABLE cdm_response_history ADD properties_map_doc VARCHAR(4000) NULL) BY NETEZZA;
10 
11/*** cdm_task_detail ***/
12EXECUTE(ALTER TABLE cdm_task_detail ADD control_group_action_nm VARCHAR(65) NULL) BY NETEZZA;
13EXECUTE(ALTER TABLE cdm_task_detail ADD stratified_sampling_action_nm VARCHAR(65) NULL) BY NETEZZA;
14EXECUTE(ALTER TABLE cdm_task_detail ADD segment_tests_flg CHAR(1) NULL) BY NETEZZA;
15 
16EXECUTE (CREATE TABLE cdm_segment_test
17(
18 test_cd VARCHAR(60) NOT NULL ,
19 task_version_id VARCHAR(36) NOT NULL ,
20 task_id VARCHAR(36) NOT NULL ,
21 test_nm VARCHAR(65) ,
22 test_type_nm VARCHAR(10) ,
23 test_enabled_flg CHAR(1) ,
24 test_sizing_type_nm VARCHAR(65) ,
25 test_cnt INTEGER ,
26 test_pct NUMERIC(5,2) ,
27 stratified_sampling_flg CHAR(1) ,
28 stratified_samp_criteria_txt VARCHAR(1024) ,
29 updated_dttm TIMESTAMP
30)
31DISTRIBUTE ON (test_cd)
32)
33BY NETEZZA;
34 
35EXECUTE (CREATE TABLE cdm_segment_test_x_segment
36(
37 test_cd VARCHAR(60) NOT NULL ,
38 task_version_id VARCHAR(36) NOT NULL ,
39 task_id VARCHAR(36) NOT NULL ,
40 segment_id VARCHAR(36) ,
41 updated_dttm TIMESTAMP
42)
43DISTRIBUTE ON (test_cd)
44)
45BY NETEZZA;
46 
47DISCONNECT FROM NETEZZA;
48QUIT;
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.
Banner
Consejo del Experto
Expert
Simon
Expert SAS et fondateur.
« Al actualizar una base de datos Netezza (IBM PureData) para SAS Customer Intelligence 360, el uso de SQL Pass-Through (EXECUTE(...) BY NETEZZA) es la estrategia más eficiente. Este método permite enviar sentencias DDL directamente al motor de la base de datos, aprovechando características nativas como la cláusula DISTRIBUTE ON, fundamental para el rendimiento en arquitecturas de procesamiento paralelo masivo (MPP). »