gpt4 book ai didi

mysql - Spark 无法解析 MySQL 文本列

转载 作者:行者123 更新时间:2023-11-29 19:07:19 25 4
gpt4 key购买 nike

Spark 无法正确解析 MySQL 数据库中的 TEXT 列。 TEXT 字段包含长条目,其中包括换行符和引号。

我最初在读取 .csv 格式的文件时遇到问题(同样的事情,尽管尝试了 libParser 的各种选项,Spark 仍无法正确解析多行条目),所以我将其上传到 MySQL,以便更清晰地读取 Spark。

正如您在下面的错误中看到的,长 TEXT 列中的字符序列可能会导致 Spark 无意中将条目拆分为多个列,从而导致文本被放置在 java 类型的字段中.sql.TimeStamp.

关于如何避免此问题有什么建议吗?

MySQL 读取

val notesDF = spark.read.format("jdbc")
.option("url", jdbcUrl)
.option("driver", jdbcDriver)
.option("dbtable", "noteevents")
.option("user", "root")
.option("password", "password")
.load()

错误

17/04/13 00:53:34 WARN org.apache.spark.scheduler.TaskSetManager: Lost task 0.1 in stage 0.0 (TID 1, lol-w-0.c.sunlit-aura-164219.internal): 

java.sql.SQLException: Value '17422532167853
2151-08-040000-00-00 00:00:000000-00-00 00:00:00Discharge summaryReport00�yAdmission Date: [**2151-7-16**] Discharge Date: [**2151-8-4**]


Service:
ADDENDUM:

RADIOLOGIC STUDIES: Radiologic studies also included a chest
CT, which confirmed cavitary lesions in the left lung apex
consistent with infectious process/tuberculosis. This also
moderate-sized left pleural effusion.

HEAD CT: Head CT showed no intracranial hemorrhage or mass
effect, but old infarction consistent with past medical
history.

ABDOMINAL CT: Abdominal CT showed lesions of
T10 and sacrum most likely secondary to osteoporosis. These can
be followed by repeat imaging as an outpatient.



[**First Name8 (NamePattern2) **] [**First Name4 (NamePattern1) 1775**] [**Last Name (NamePattern1) **], M.D. [**MD Number(1) 1776**]

Dictated By:[**Hospital 1807**]
MEDQUIST36

D: [**2151-8-5**] 12:11
T: [**2151-8-5**] 12:21
JOB#: [**Job Number 1808**]
' can not be represented as java.sql.Timestamp

最佳答案

嗯,正如 Pushkar 指出的,解决这个问题的方法是预处理数据。以防万一其他人在处理 Spark 的 .csv 中的大文本字段时遇到类似的问题,这就是我所做的:

  1. .csv加载到MySQL中。
  2. 删除所有换行符/非 ASCII 字符。更新表名设置列名 = REPLACE(CONVERT(列名 USING ascii), '?', '');
  3. 将表(包括列名称)导出到 .csv 并使用格式正确的文件。

关于mysql - Spark 无法解析 MySQL 文本列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com