Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive Spark无法查询它可以看到的配置单元表?_Hive_Apache Spark - Fatal编程技术网

Hive Spark无法查询它可以看到的配置单元表?

Hive Spark无法查询它可以看到的配置单元表?,hive,apache-spark,Hive,Apache Spark,我正在CentOS上运行用于CDH 4的Spark 1.2预构建版本。我已经将hive-site.xml文件复制到Spark中的conf目录中,因此它应该可以看到hive元存储 我在配置单元中有三个表(facility、newpercentile、percentile),我可以从配置单元CLI查询所有这些表。在我登录Spark并创建配置单元上下文(如:val hiveC=new org.apache.Spark.sql.Hive.HiveContext(sc))之后,我在查询这些表时遇到了一个问

我正在CentOS上运行用于CDH 4的Spark 1.2预构建版本。我已经将hive-site.xml文件复制到Spark中的conf目录中,因此它应该可以看到hive元存储

我在配置单元中有三个表(facility、newpercentile、percentile),我可以从配置单元CLI查询所有这些表。在我登录Spark并创建配置单元上下文(如:val hiveC=new org.apache.Spark.sql.Hive.HiveContext(sc))之后,我在查询这些表时遇到了一个问题

如果我运行以下命令:val tableList=hiveC.hql(“show tables”)并对tableList执行collect(),我会得到以下结果:res0:Array[org.apache.spark.sql.Row]=Array([facility],[newpercentile],[percentile])

如果我随后运行此命令以获取设施表的计数:val facTable=hiveC.hql(“从设施中选择计数(*)),我将获得以下输出,这意味着它无法找到要查询的设施表:

scala> val facTable = hiveC.hql("select count(*) from facility")
warning: there were 1 deprecation warning(s); re-run with -deprecation for details
14/12/26 10:27:26 WARN HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.

14/12/26 10:27:26 INFO ParseDriver: Parsing command: select count(*) from facility
14/12/26 10:27:26 INFO ParseDriver: Parse Completed
14/12/26 10:27:26 INFO MemoryStore: ensureFreeSpace(355177) called with curMem=0, maxMem=277842493
14/12/26 10:27:26 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 346.9 KB, free 264.6 MB)
14/12/26 10:27:26 INFO MemoryStore: ensureFreeSpace(50689) called with curMem=355177, maxMem=277842493
14/12/26 10:27:26 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 49.5 KB, free 264.6 MB)
14/12/26 10:27:26 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on 10.0.2.15:45305 (size: 49.5 KB, free: 264.9 MB)
14/12/26 10:27:26 INFO BlockManagerMaster: Updated info of block broadcast_0_piece0
14/12/26 10:27:26 INFO SparkContext: Created broadcast 0 from broadcast at TableReader.scala:68

facTable: org.apache.spark.sql.SchemaRDD = 
SchemaRDD[2] at RDD at SchemaRDD.scala:108
== Query Plan ==
== Physical Plan ==

Aggregate false, [], [Coalesce(SUM(PartialCount#38L),0) AS _c0#5L]
 Exchange SinglePartition
  Aggregate true, [], [COUNT(1) AS PartialCount#38L]
   HiveTableScan [], (MetastoreRelation default, facility, None), None
任何协助都将不胜感激。谢谢

scala> val facTable = hiveC.hql("select count(*) from facility")
太好了!你有一个RDD,现在你想用它做什么

scala> facTable.collect()
请记住,RDD是数据之上的抽象,只有在调用对其执行的操作(如
collect()
count()
时,RDD才会具体化

如果您试图使用一个不存在的表名,您将得到一个非常明显的错误

太好了!你有一个RDD,现在你想用它做什么

scala> facTable.collect()
请记住,RDD是数据之上的抽象,只有在调用对其执行的操作(如
collect()
count()
时,RDD才会具体化

如果您试图使用一个不存在的表名,您将得到一个非常明显的错误

太好了!你有一个RDD,现在你想用它做什么

scala> facTable.collect()
请记住,RDD是数据之上的抽象,只有在调用对其执行的操作(如
collect()
count()
时,RDD才会具体化

如果您试图使用一个不存在的表名,您将得到一个非常明显的错误

太好了!你有一个RDD,现在你想用它做什么

scala> facTable.collect()
请记住,RDD是数据之上的抽象,只有在调用对其执行的操作(如
collect()
count()
时,RDD才会具体化


如果您试图使用一个不存在的表名,您将得到一个非常明显的错误。

没错!现在情况看起来不错。谢谢你。至少可以说,最后一行中没有一个的列表让我感到困惑。谢谢你的及时回复。你说得对!现在情况看起来不错。谢谢你。至少可以说,最后一行中没有一个的列表让我感到困惑。谢谢你的及时回复。你说得对!现在情况看起来不错。谢谢你。至少可以说,最后一行中没有一个的列表让我感到困惑。谢谢你的及时回复。你说得对!现在情况看起来不错。谢谢你。至少可以说,最后一行中没有一个的列表让我感到困惑。我感谢你的迅速答复。