Procesamiento de de cadena


Procesamiento de cadena 

// 1. Leer el archivo como texto plano

Dataset<Row> rawData = spark.read().text("ruta/al/archivo.csv");


// 2. Extraer la primera línea como encabezado

String headerLine = rawData.first().getString(0);

String[] columnNames = headerLine.split(",");


// 3. Filtrar el encabezado

Dataset<Row> dataWithoutHeader = rawData.filter(row -> !row.getString(0).equals(headerLine));


// 4. Procesar las líneas con un parser CSV adecuado

Dataset<Row> processedData = dataWithoutHeader.map(row -> {

    String line = row.getString(0);

    CSVParser parser = new CSVParserBuilder()

        .withSeparator(',')

        .withQuoteChar('"')

        .withIgnoreQuotations(false)

        .build();

    

    String[] values = parser.parseLine(line);

    return RowFactory.create((Object[]) values);

}, Encoders.bean(Row.class));


// 5. Asignar nombres de columnas

for (int i = 0; i < columnNames.length; i++) {

    processedData = processedData.withColumnRenamed("_"+i, columnNames[i].trim());

}


// 6. Mostrar resultados

processedData.show(false);

Comentarios

Entradas populares de este blog

Pequeño server local

CobolParser Para Spark

iteratorSeguro