更换或删除新行" \ n" Spark数据集列值中的字符

时间:2017-10-10 10:26:22

标签: java apache-spark

我有以下代码来阅读xml

Dataset<Row> dataset1 = SparkConfigXMLProcessor.sparkSession.read().format("com.databricks.spark.xml")
                .option("rowTag", properties.get(EventHubConsumerConstants.IG_ORDER_TAG).toString())
                .load(properties.get("C:\\inputOrders.xml").toString());

获取换行符号的列值之一。 我想用一些字符替换它或只是想删除它。 请帮忙

3 个答案:

答案 0 :(得分:2)

dataset1.withColumn("menuitemname_clean", regexp_replace(col("menuitemname"), "[\n\r]", " "))

以上代码将起作用

答案 1 :(得分:0)

这就是我用的。我通常也添加一个标签(\ t)。同时拥有\ r和\ n将会找到UNIX(\ n),Windows(\ r)和OSX(\ r)换行符。

Dataset<Row> newDF = dataset1.withColumn("menuitemname", regexp_replace(col("menuitemname"), "\n|\r", ""));

答案 2 :(得分:-1)

下面的代码解决了我的问题

Dataset<Row> newDF = dataset1.withColumn("menuitemname", regexp_replace(col("menuitemname"), "[\\n]", ""));