Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何使用在DataFrame中出现两次的列名进行选择?_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 如何使用在DataFrame中出现两次的列名进行选择?

Apache spark 如何使用在DataFrame中出现两次的列名进行选择?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我有以下代码 DataFrame addressDF = sqlContext.read().parquet(addressParquetPath); DataFrame propertyDF = sqlContext.read().parquet(propertyParquetPath); DataFrame joinedFrame = addressDF.join(propertyDF, propertyDF.col("LOCID").equalTo(addressDF.col("loci

我有以下代码

DataFrame addressDF = sqlContext.read().parquet(addressParquetPath);
DataFrame propertyDF = sqlContext.read().parquet(propertyParquetPath);

DataFrame joinedFrame = addressDF.join(propertyDF, propertyDF.col("LOCID").equalTo(addressDF.col("locid")), "left");

joinedFrame.registerTempTable("joinedFrame");
DataFrame joinedFrameSelect = sqlContext.sql("SELECT LOCID,AddressID FROM joinedFrame");
在“选择LocID”列表中,列出了两次,如何选择地址而不是属性的LocID


我可以按列索引对数据帧执行select吗?

我通常会重命名该列--您可以尝试:

...join(propertyDF.withColumnRenamed("LocID", "LocID_R"), ...
或者,如果您想一次性更改
数据帧的所有列名,例如为每个名称添加一个
\R
“right”,您可以尝试以下操作:

df.toDF(df.columns.map(_ + "_R"):_*)

<>这是有用的,当你加入一个<代码>数据文件> /代码>回到它自己。

你应该考虑使用DATAFRAM API来做选择,例如<代码>连接框。选择(“LoCID”,“AddressID”)< /代码>。