SPARK-在数据框中操纵特定的列值(删除字符)



我正在使用Spark-CSV读取文件并将其转换为数据框架。特定列x我们称之为,具有一系列值-0至2,但是有些行有一个令人讨厌的尾随;N,我需要删除。

例如。

 _________
| ID | X  |
|---------|
| 1  | 0;N|

我该如何用火花做到这一点?对我来说是全新的。我猜这涉及一些"过滤器"的用法,但我无法解决。

dataFrame的加载如下,如果这是一个重要信息:

import sys
from pyspark import SparkContext
from pyspark.sql import SQLContext, GroupedData
from pyspark.sql.types import *
sys.path.append("$SPARK_HOME/python/lib")
# Init steps
sc = SparkContext('local')
sc.setLogLevel("WARN")
sqlContext = SQLContext(sc)
print "Loading file... ",
log_df = sqlContext.read.format('com.databricks.spark.csv').
options(header='true', inferschema='true', delimiter='t').
load('/path/to/file.csv')  # Load data file
print "Done!"
log_df.select('X').show(20, False)

最后一行是我看到一些行确实具有0-2值的表格,而其他我想删除的尾巴 ;N

谢谢

您可以做以下类似的事情。

from pyspark.sql.functions import regexp_replace, col
log_df.withColumn("X",regexp_replace(col("X"), ";N", "")).show()

相关内容

  • 没有找到相关文章

最新更新