我尝试使用以下代码连接到远程配置单元集群,并按预期获得表数据
val spark = SparkSession
.builder()
.appName("adhocattempts")
.config("hive.metastore.uris", "thrift://<remote-host>:9083")
.enableHiveSupport()
.getOrCreate()
val seqdf=sql("select * from anon_seq")
seqdf.show
但是,当我尝试通过hiveserver2执行此操作时,我的Dataframe中没有数据。此表基于sequencefile。这就是问题所在,因为我实际上是通过jdbc来阅读这篇文章的?
val sparkJdbc = SparkSession.builder.appName("SparkHiveJob").getOrCreate
val sc = sparkJdbc.sparkContext
val sqlContext = sparkJdbc.sqlContext
val driverName = "org.apache.hive.jdbc.HiveDriver"
Class.forName(driverName)
val df = sparkJdbc.read
.format("jdbc")
.option("url", "jdbc:hive2://<remote-host>:10000/default")
.option("dbtable", "anon_seq")
.load()
df.show()
有人能帮我理解在spark2中使用hiveserver2和jdbc以及相关驱动程序的目的吗?
暂无答案!
目前还没有任何答案,快来回答吧!