Artículo
· 9 ene, 2025 Lectura de 2 min

Carga de archivos Parquet en IRIS

Hola colegas,

Hace unos días me surgio el requerimiento de cargar un archivo parquet, tal y como viene a una tabla en IRIS, así que desarrolló este classmethod que gatilla la carga solo indicando la ruta y nombre del archivo y el nombre de la tabla destino (en el mismo espacio de nombres). Para esto, escribí un pequeño código en Python que requiere las librerías: Pandas, pyarrow y fastparquet, las cuales deben instalar en el directorio de instalación de IRIS según su instalación, en mi caso el comando es:

instalación de pip3 --target /usr/irissys/mgr/python/ pandas pyarrow fastparquet

Para cargar los datos se deberán entregar los siguientes parametros

archivo: ruta completa al archivo parquet a cargar /var/data/archivo.parquet
tabla: tabla en la cual se cargaran los datos

desde el terminal:
do ##class(testing.python).cargaParquet("/var/data/files/testing-ndoc.parquet","testing.ndoc")

Espero les sea de utilidad.

Class testing.python Extends %RegisteredObject
{

ClassMethod cargaParquet(parquet, tabla) [ Language = python ]
{
    try:
        import pandas as pd
        import iris

        parquet_file= parquet
        df = pd.read_parquet(parquet_file)
        i=0
        linea=""
        valores=""
        sql=""
        max_index = len(df)       
        for x in df.columns:
                linea = linea + x + ","

        linea = linea.replace("_","")[:-1]
        sql="insert into "+ tabla +" (" + linea  + ")"
        while i<max_index:
            for x in df.columns:
                    valores = valores + "'" + str(df.at[i,x]) + "',"
            valores = " values("+ valores[:-1] +")"
            tsc = iris.sql.exec(sql + valores)
            valores=""
            i+=1
    except:
        print("error de carga de registro " +i)
}
}
Comentarios (1)2
Inicie sesión o regístrese para continuar