从另一个数据库导入 Spark 2 的对象的类型是什么?
What is the type of an object imported from another database into Spark 2?
我正在将两个表从 oracle 导入 Spark,如下所示:
val customers = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "customers").load().show()
val cities = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "cities").load().show()
这些表稍后应由 "ID" 加入,如下所示:
val df = customers.join(cities, customers.col("ID") === cities.col("ID"))
问题是对象的类型 "customers" 和 "cities" 分别是 customers: Unit = ()
cities: Unit = ()
这里有解释如何从 Seq() 转换为 DataFrame 的答案,但没有关于 Unit 到 DataFrame 的答案。
这个单元是什么,是 RDD、DataSet 还是?
这是因为你把show()
放在了最后。 show()
的类型为 Unit
,因此您的 customers
和 cities
的类型为 Unit
.
你应该写:
val customers = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "customers").load()
val cities = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "cities").load()
那么它们应该是 DataFrame
或一些 Dataset
然后你可以进一步处理。
我正在将两个表从 oracle 导入 Spark,如下所示:
val customers = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "customers").load().show()
val cities = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "cities").load().show()
这些表稍后应由 "ID" 加入,如下所示:
val df = customers.join(cities, customers.col("ID") === cities.col("ID"))
问题是对象的类型 "customers" 和 "cities" 分别是 customers: Unit = ()
cities: Unit = ()
这里有解释如何从 Seq() 转换为 DataFrame 的答案,但没有关于 Unit 到 DataFrame 的答案。
这个单元是什么,是 RDD、DataSet 还是?
这是因为你把show()
放在了最后。 show()
的类型为 Unit
,因此您的 customers
和 cities
的类型为 Unit
.
你应该写:
val customers = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "customers").load()
val cities = spark.read.format("jdbc").option("url", "jdbc:oracle:thin:user/password@//IP:2222/ebe").option("driver", "oracle.jdbc.OracleDriver").option("dbtable", "cities").load()
那么它们应该是 DataFrame
或一些 Dataset
然后你可以进一步处理。