连接到HiverServer2后的Spark读取表仅提供架构而不提供数据

时间:2018-07-25 08:35:18

标签: apache-spark hive apache-spark-sql

我尝试使用以下代码连接到远程配置单元群集,并按预期方式获取表数据

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中的相关驱动程序一起使用的目的吗?

0 个答案:

没有答案