Spark 将列名作为一个值。我正在尝试从 Databricks 获取数据
我正在使用以下代码:
val query="SELECT * FROM test1"
val dataFrame = spark.read
.format("jdbc")
.option("url", url)
.option("user", user)
.option("password", password)
.option("dbtable", s"""( $query ) t""")
.load()
dataFrame.show()
使用该代码,我得到以下输出:
Output
+----+-----+-------+
|name|email|address|
+----+-----+-------+
|name|email|address|
|name|email|address|
+----+-----+-------+
这是数据库中表格的样子:
姓名 | 电子邮件 | 地址 |
---|---|---|
德文德拉 | [email protected] | 博帕尔 |
我正在使用 DatabricksJDBC42.jar 和 spark 版本 3.3.1
如您所见,它显示的是列名而不是实际值。我怎样才能让它显示真实姓名?
您可以使用
query
代替 dtable
并检查数据是否正在获取,然后您可以返回 dtable
以了解您的特定用例。我知道我们可以使用 query
或 dtable
但由于这里没有太多上下文,我只能建议您采用自下而上的方法。
val query="SELECT * FROM test1"
val dataFrame = spark.read
.format("jdbc")
.option("url", url)
.option("user", user)
.option("password", password)
.option("query", s"$query")
.load()
dataFrame.show()