我尝试使用以下代码连接到远程配置单元群集,并按预期方式获取表数据
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执行此操作时,我的数据帧中没有任何数据。该表基于序列文件。这是问题,因为我实际上正在尝试通过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()
有人可以帮助我了解将HiveServer2与jdbc和Spark2中的相关驱动程序一起使用的目的吗?