Я присоединился к двум фреймам данных и сейчас пытаюсь получить отчет, состоящий из столбцов из обоих фреймов данных.Я пытался использовать .select (cols = String *), но он не работает.
Также описанный метод здесь , похоже, не решает мою проблему.
Ниже приведенкод.val full_report - вот где мне нужно получить столбцы.
import org.apache.spark.sql.types._
object read_data {
def main (args:Array[String]) {
val spark = org.apache.spark.sql.SparkSession.builder
.master("local")
.appName("Spark CSV Reader")
.getOrCreate;
val customSchema = StructType(Array(
StructField("order_id", IntegerType, true),
StructField("parent_order_uuid", StringType, true),
StructField("company", StringType, true),
StructField("country_id", IntegerType, true)))
val readogp = spark.read.format("csv")
.option("header", "false")
.schema(customSchema)
.load("/home/cloudera/Desktop/ogp_csv.csv")
readogp.show()
val read_country = spark.read.format("csv")
.option("header", "true")
.load("/home/cloudera/Desktop/country.csv")
read_country.show()
println("************************************************************************")
val full_report = readogp.join(read_country, readogp.col("country_id") === read_country.col("country_id"))
.select(readogp.select("order_id" + "parent_order_id"))
full.show()
}
}
Пожалуйста, дайте мне знать, как я могу преодолеть это препятствие.