scala - 如何使用模式字段选择数据框列
问题描述
我加入了 2 个数据框,然后只想选择一个数据框的列。所以我尝试使用它的模式作为列,select
但不知道如何。语言是 Scala。
解决方案
这可以通过如下所示的示例来实现。在这个例子中,我使用了两种不同的模式。这可以通过使用多字段选择来实现_*
。
import spark.implicits._
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types._
val empSchema = StructType(Array(StructField("id", StringType, true), StructField("name",StringType,true),StructField("prof",StringType,true)))
val salarySchema = StructType(Array(StructField("emp_id", StringType, true),StructField("salary",IntegerType,true)))
val emp = spark.read.option("delimiter", ",").schema(empSchema).csv("/tmp/test1.csv")
val salary=spark.read.option("delmiter",",").schema(salarySchema).csv("/tmp/test2.csv")
val joined = emp.join(salary,emp("id")===salary("emp_id"), "outer")
val columnsEmp = emp.columns.map(name => col(name)).toSeq
joined.select(columnsEmp: _*).show // gives columns from only emp dataframe
如果它回答了您的问题,请将其标记为答案。
推荐阅读
- r - 尝试在 r 中的汇总函数中使用条件语句
- authorization - 授权码授予步骤 2 出错 :: {"error":"invalid_grant","error_description":"unauthorized_client"}
- python - 如何在Django中乘以用户输入
- javascript - JS中加载图片的问题,如何避免404错误
- docker - 容器内的 docker pull 图像因超时而失败
- python - 熊猫没有用 NaN 正确重新索引
- python - Python根据文本文件中的HH:MM时间绘制数据
- jquery - 按钮单击复选框并显示另一个 jquery
- deep-learning - 较高的激活值是否意味着神经元在神经网络中很重要?
- python - How to make arguments in python decorator configurable?