3

我正在尝试使用 spark csv 加载 CSV(制表符分隔) - 通过 scala。

我观察到的是,如果一列包含换行符 LF (\n) 火花将其视为行尾,即使我们在 csv 文件中列的两侧都有双引号。

有没有人遇到过类似的问题?

这是我用过的 scala 代码

但火花将其识别为行尾

在@ashraful 建议后,我尝试了以下查询:

but the result remains the same here is the record i am trying to load

`但是在加载到火花数据框后,我正在尝试检查记录,但其余列在 LS 字符之后加载为空。

在此处输入图像描述

同一行被分成两部分在此处输入图像描述

这是数据:注意第一行的结尾有 LF 字符。

cuenta_id   fecha_creacion  saldo   descripcion saldo_inicial   fecha_ultima_actualizacion  usuario_id  saldo_anterior  saldo_reserva   tipo_cuenta pais_iso_3166   moneda_iso_4217 valor_comision_retiro   retiro_en_proceso   plan_id grupo_comision_id   documento   tipo_documento  operacion_local estado_cuenta   nombre  telefonos   fax direccion   nombre_contacto email_contacto  url ciudad  ventas_mensuales    comentarios modelo_pagos    modo_prueba tiene_fondo_reserva porcentaje_fondo_reserva    aceptar_tc_internacionales  dias_fondo_reserva  telefono_servicio_cliente   email_soporte_cliente   pagina_web_soporte_cliente  nombre_comercial    fuente_creacion procesar_sin_cvv2   productos_servicios usuario_modificacion_id sesion_modificacion_id  saldo_congelado perfil_usuario_id   grupo_perfil_cobranza_id    limite_creacion_transacciones   limite_procesamiento_transacciones  codigo_mcc_id   url_atencion_cliente    ubicacion_regional  direccion_linea2    direccion_linea3    direccion_codigo_postal grupo_perfil_cobranza_personalizado_id  logo    migrada_acreditacion    origen_comercial
"500181"    "2012-04-13 17:14:47.958"   "0.00"  "CTA POL [MARISOL GONDOLA ROMERO  PE]"  "0.00"      "500106"    "0.00"  "0.00"  "CHECK_ACCOUNT" "PE"    "PEN"   "0.00"  "f" "1" "9" "3742396"   "ID"    "f" "ENABLED"   "MARISOL GONDOLA ROMERO"    "5073984473"    ""  "CLL SALISBURY CASA 226 URBANIZACION COLINAS DEL GOLF CORREGIMIENTO DE JOSE D ESPINAR"  "ALEJANDRO JUAN COMPARADA"  "pol.no.responder@gmail.com"        "LIMA"      "VALIDAR TIPO DE DOCUMENTO Y TIPO DE CUENTA
"   "AGGREGATOR"    "f" "f"     "t"     "5073984473"    "pol.no.responder@gmail.com"                "f"     "2" "C64C7A54C942D496DCFCA2C24671FD46.admin-nodo1"  "0" "MG-PRICING_302_157077" "MG-PRICING_303_285226"         "5311"                              "f" 

以下是输出:

cala> sqlcontext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema", "true").option("delimiter", "\t").option("quote", "\"").option("charset","UTF-8").load("/home/goutham/Work/data/account.csv").show()
+--------------+--------------------+-----+--------------------+-------------+--------------------------+----------+--------------------+-------------+-------------+-------------+---------------+---------------------+-----------------+--------------------+-----------------+--------------------+--------------------+---------------+-------------+--------------------+----------+----+--------------------+--------------------+--------------------+----+------+----------------+--------------------+------------+-----------+-------------------+------------------------+--------------------------+------------------+-------------------------+---------------------+--------------------------+----------------+---------------+-----------------+-------------------+-----------------------+----------------------+---------------+-----------------+------------------------+-----------------------------+----------------------------------+-------------+--------------------+------------------+----------------+----------------+-----------------------+--------------------------------------+----+--------------------+----------------+
|     cuenta_id|      fecha_creacion|saldo|         descripcion|saldo_inicial|fecha_ultima_actualizacion|usuario_id|      saldo_anterior|saldo_reserva|  tipo_cuenta|pais_iso_3166|moneda_iso_4217|valor_comision_retiro|retiro_en_proceso|             plan_id|grupo_comision_id|           documento|      tipo_documento|operacion_local|estado_cuenta|              nombre| telefonos| fax|           direccion|     nombre_contacto|      email_contacto| url|ciudad|ventas_mensuales|         comentarios|modelo_pagos|modo_prueba|tiene_fondo_reserva|porcentaje_fondo_reserva|aceptar_tc_internacionales|dias_fondo_reserva|telefono_servicio_cliente|email_soporte_cliente|pagina_web_soporte_cliente|nombre_comercial|fuente_creacion|procesar_sin_cvv2|productos_servicios|usuario_modificacion_id|sesion_modificacion_id|saldo_congelado|perfil_usuario_id|grupo_perfil_cobranza_id|limite_creacion_transacciones|limite_procesamiento_transacciones|codigo_mcc_id|url_atencion_cliente|ubicacion_regional|direccion_linea2|direccion_linea3|direccion_codigo_postal|grupo_perfil_cobranza_personalizado_id|logo|migrada_acreditacion|origen_comercial|
+--------------+--------------------+-----+--------------------+-------------+--------------------------+----------+--------------------+-------------+-------------+-------------+---------------+---------------------+-----------------+--------------------+-----------------+--------------------+--------------------+---------------+-------------+--------------------+----------+----+--------------------+--------------------+--------------------+----+------+----------------+--------------------+------------+-----------+-------------------+------------------------+--------------------------+------------------+-------------------------+---------------------+--------------------------+----------------+---------------+-----------------+-------------------+-----------------------+----------------------+---------------+-----------------+------------------------+-----------------------------+----------------------------------+-------------+--------------------+------------------+----------------+----------------+-----------------------+--------------------------------------+----+--------------------+----------------+
|        500181|2012-04-13 17:14:...| 0.00|CTA POL [MARISOL ...|         0.00|                      null|    500106|                0.00|          0.0|CHECK_ACCOUNT|           PE|            PEN|                  0.0|                f|                   1|                9|             3742396|                  ID|              f|      ENABLED|MARISOL GONDOLA R...|5073984473|null|CLL SALISBURY CAS...|ALEJANDRO JUAN CO...|pol.no.responder@...|null|  LIMA|            null|VALIDAR TIPO DE D...|        null|       null|               null|                    null|                      null|              null|                     null|                 null|                      null|            null|           null|             null|               null|                   null|                  null|           null|             null|                    null|                         null|                              null|         null|                null|              null|            null|            null|                   null|                                  null|null|                null|            null|
|"  "AGGREGATOR"|                   f|    f|                null|            t|                      null|5073984473|pol.no.responder@...|         null|         null|         null|              f|                 null|                2|C64C7A54C942D496D...|                0|MG-PRICING_302_15...|MG-PRICING_303_28...|           null|         null|                5311|      null|null|                null|                null|                null|null|  null|               f|                null|        null|       null|               null|                    null|                      null|              null|                     null|                 null|                      null|            null|           null|             null|               null|                   null|                  null|           null|             null|                    null|                         null|                              null|         null|                null|              null|            null|            null|                   null|                                  null|null|                null|            null|
+--------------+--------------------+-----+--------------------+-------------+--------------------------+----------+--------------------+-------------+-------------+-------------+---------------+---------------------+-----------------+--------------------+-----------------+--------------------+--------------------+---------------+-------------+--------------------+----------+----+--------------------+--------------------+--------------------+----+------+----------------+--------------------+------------+-----------+-------------------+------------------------+--------------------------+------------------+-------------------------+---------------------+--------------------------+----------------+---------------+-----------------+-------------------+-----------------------+----------------------+---------------+-----------------+------------------------+-----------------------------+----------------------------------+-------------+--------------------+------------------+----------------+----------------+-----------------------+--------------------------------------+----+--------------------+----------------+
4

1 回答 1

0

确定了问题。最新的 Spark 2.1.0 没有认识到这一点。我已经尝试使用 Spark 2.0.2 进行相同的操作。

任何人请让我知道如何报告这个?

更新:大家好,我们上个月针对这个问题提交了 PR,并且已经修复。

JIRA

新更新:确认这将在即将到来的 Spark 2.2.0 版本中修复。 GIT 问题报告

于 2017-04-09T05:19:42.690 回答