microsoft - ¿Cómo preprocesar y descomprimir el archivo.gz en Azure Data Lake store?
porta azure (2)
De acuerdo con el artículo principal de EXTRACT , el método EXTRACT
U-SQL reconoce automáticamente el formato GZip, por lo que no necesita hacer nada especial.
Extracción de datos comprimidos
En general, los archivos se pasan como están al UDO. Una excepción es que EXTRACT reconocerá los archivos comprimidos de GZip con la extensión de archivo .gz y los descomprimirá automáticamente como parte del proceso de extracción. El UDO real verá los datos sin comprimir. Para cualquier otro esquema de compresión, los usuarios tendrán que escribir su propio extractor personalizado. Tenga en cuenta que U-SQL tiene un límite superior de 4 GB en un archivo comprimido GZip. Si aplica su expresión EXTRACTO a un archivo mayor que este límite, se generará el error E_RUNTIME_USER_MAXCOMPRESSEDFILESIZE durante la compilación del trabajo.
Parece que esta característica ha estado disponible por un tiempo, pero se actualizó en noviembre de 2016 para introducir el límite de 4 GB. Mira aquí .
Aquí hay un ejemplo simple que convierte un archivo descomprimido y separado por comas en separados por canalización:
DECLARE @file1 string = @"/input/input.csv.gz";
@file =
EXTRACT col1 string,
col2 string,
col3 string
FROM @file1
USING Extractors.Csv(silent : true);
@output =
SELECT *
FROM @file;
OUTPUT @output
TO "/output/output.txt"
ORDER BY col1
//FETCH 500 ROWS
USING Outputters.Text(quoting : false, delimiter : ''|'');
¿Admitirá USQL para comprimir y descomprimir un archivo?
Me gustaría descomprimir un archivo comprimido para realizar algunas validaciones y, una vez que se pasan, me gustaría comprimir los datos en un nuevo archivo.
Además, hacer compresión automática en OUTPUT
está en la hoja de ruta. Agregue su voto a https://feedback.azure.com/forums/327234-data-lake/suggestions/13418367-support-gzip-on-output-as-well