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|
+----+-----+-------+
这就是DB中的表:
| 名称|电子邮件|地址|
| --------------|--------------|--------------|
| 代文德拉| dev2311999@gmail.com |博帕尔|
我正在使用DatabaseJDBC42.jar和spark版本3.3.1
如你所见,它显示的是列名而不是实际值。我怎样才能让它显示实际的列名呢?
2条答案
按热度按时间wtzytmuj1#
你能用
query
代替dtable
并检查数据是否被获取,然后你可以回到dtable
用于你的特定用例。我知道我们可以使用query
或dtable
,但由于这里没有太多的上下文,我只能建议你做一个自底向上的方法。jckbn6z72#
我认为你还必须配置
driver
选项: