Pyspark - 如何删除数据框中的前导和尾随空格?

Pyspark - How can I remove the leading and trailing whitespace in my dataframe?

我有一个包含 10 列的 spark 数据框,我正在将其写入 hdfs 中的 table。我在列(所有字段和所有行)中遇到前导和尾随空格问题。

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('Networks').getOrCreate()

dataset = spark.read.csv('Networks_arin_db_2-20-2019_parsed.csv', header=True, inferSchema=True)

#dataset.show(5)

我使用了我在搜索时发现的以下选项:

dataset.write \
  .option("parserLib","univocity") \
  .option("ignoreLeadingWhiteSpace","false") \
  .option("ignoreTrailingWhiteSpace","false") \
  .mode("append") \
  .option("path", "/user/hive/warehouse/analytics.db/arin_network") \
  .saveAsTable("analytics.arin_network")

但我在 hdfs 中的 tables 中仍然出现空白:

我能找到的大部分示例都是 Scala。有没有一种方法可以使用 pyspark 成功完成此操作?我的 Spark 版本是 2.2.0.

当我在第一个引号后用 5 个空格查询时,我得到一个结果:

我想保留它 pyspark 所以我回到 python 代码并添加了一行删除所有尾随和前导的白色-space.

df_out = df_out.applymap(lambda x: x.strip() if isinstance(x, str) else x)

这解决了问题,我能够毫无问题地导入到 hdfs table。