CSV de ignição com vários delimitadores em DataSet

user10267781:

Eu tenho dois arquivos CSV que estou agregando usando ignição com Java. Esses arquivos têm diferentes delimitadores.

file1.dat:

011!345!Ireland

files2.dat:

022Ç486ÇBrazil

Código que eu uso:

Dataset<Row> people = spark.read().format("csv").option("header", "false").option("delimeter", "\u00C7").option("delimeter", "!").load(logFile);

Resultado:

Error:Cannot resolve column name

Se eu remover um delimitador:

Dataset<Row> people = spark.read().format("csv").option("header", "false").option("delimeter", "\u00C7").load(logFile);

Resultado:

Sno|code|Country
null|null|null 
022|486|Brazil

Existe uma maneira de realizar isso? Ambos os arquivos podem ser agregados no mesmo código faísca?

Shaido - Reintegrar Monica:

Você não pode usar vários delimitadores ao mesmo tempo.

Em vez disso, ler os arquivos separatly e uso union( doc ) para fundi-las. Por exemplo:

Dataset<Row> people1 = spark.read()
  .option("header", "false")
  .option("delimeter", "!")
  .csv(logFile1);
Dataset<Row> people2 = spark.read()
  .option("header", "false")
  .option("delimeter", "\u00C7")
  .csv(logFile2);

Dataset<Row> people = people1.union(people2);

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=213766&siteId=1
Recomendado
Clasificación