apache-spark - 如何使用 regexp_replace() 从 spark 数据集中替换 Ctrl+M 字符?
问题描述
您好,有一个 Spark 数据集,其中一个Ctrl+M
列的数据中存在一个字符,结果记录被分成两条记录,并且数据损坏。
即使我已经添加了处理正则表达式换行符的代码\r\n
,但我不确定这个相同的代码是否能够处理 Ctrl+M,即^M
:
filtered = filtered.selectExpr(convertListToSeq(colsList))
.withColumn(newCol, functions.when(filtered.col(column).notEqual("null"), functions.regexp_replace(filtered.col(column), "[\r\n]", " ")));
代码会functions.regexp_replace(filtered.col(column), "<ascii for Ctrl+M>", " ");
起作用吗?..我不知道 Ctrl+M 的 ascii 值。
解决方案
推荐阅读
- c++ - C++ 链接器找到标头但找不到 .cpp 文件(使用 cmake、gcc)
- vue.js - Vue - 刷新我传递给组件的数据值
- firebase - 部署云功能增加了云存储带宽但没有存储?
- javascript - useContext 返回 udefined
- colors - 如何将线条样式应用于 Seaborn 线图中的特定线条?
- javascript - 带有 github Nodejs CI 操作的 CI 意外失败
- python - TypeError:'function'和'str'的实例之间不支持'<'
- javascript - 等待从 Firestore 读取的函数的数组出现问题
- python - Python:按时间过滤python数据帧
- statistics - 旧状态的高斯近似