java - spark读取csv中的重复列名
问题描述
我读了 csv 文件,它有一个重复的列。
我想在数据框中保留列的名称。
我尝试在我的 sparkcontext conf spark.sql.caseSensitive中添加此选项并将其设置为true,但不幸的是它没有效果。
重复的列名称是 NU_CPTE。Spark 尝试通过添加第 0、7 列的数量来重命名它
NU_CPTE0|CD_EVT_FINANCIER|TYP_MVT_ELTR|DT_OPERN_CLI|LI_MVT_ELTR| MT_OPERN_FINC|FLSENS|NU_CPTE7
SparkSession spark= SparkSession
.builder()
.master("local[2]")
.appName("Application Test")
.getOrCreate();
spark.sparkContext().getConf().set("spark.sql.caseSensitive","true");
Dataset<Row> df=spark.read().option("header","true").option("delimiter",";").csv("FILE_201701.csv");
df.show(10);
我想要这样的结果:
NU_CPTE|CD_EVT_FINANCIER|TYP_MVT_ELTR|DT_OPERN_CLI|LI_MVT_ELTR| MT_OPERN_FINC|FLSENS|NU_CPTE
解决方案
Spark 已修复以允许附加数字的重复列名。因此,您将获得附加到重复列名的数字。请找到以下链接
推荐阅读
- unity3d - 有什么方法可以在 Unity 中找到文件名未知的错误?- 与字典相关的相同键存在
- c - C - If 条件中的变量声明在 Else 中可用?
- python - Python 三元 if 在 numpy 数组上,条件为数组单元格值
- macos - 在 mac 上编译 drake 时如何解决有关 g_iprint 的错误?
- javascript - 是否有 Google REST API 可以挑战*不同的*用户以证明他们有权访问 Google 帐户?
- reactjs - React.js - 无法获取 API
- reactjs - 如何将参数传递给 useEffect 挂钩
- typescript - 为什么不使用相交的泛型类型进行传播?
- c# - 从 ASP.NET Core 中的两个表中检索数据
- java - 如何让我的代码在菜单代码中从一个空白变为另一个空白并让它随机生成输入?