System.out.println(hiveContext.metadataHive().getTable("anshu","mytable").getAllPartitions());
使用hivecontext,您可以像下面的示例那样执行此操作。不需要手动操作
sqlContext = HiveContext(sc)
sqlContext.sql("MSCK REPAIR TABLE your table")
有什么方法可以使用Java在hive中添加/删除分区吗?
如果您想用纯java的方式使用spark out来完成,那么使用纯java代码,您可以使用类HiveMetaStoreClient直接从HiveMetaStore进行查询。
我知道如果我从配置单元提交查询,将获得一个共享锁,然后配置单元表将被查询锁定:https://cwiki.apache.org/confluence/display/Hive/locking
我在java中开发了一个工作正常的配置单元udf,我的函数返回输入与配置单元表中列之间的最佳匹配,因此它有以下简化的伪代码: 我的问题是,如果这个函数是由Hive调用的,为什么我需要在代码中连接到Hive?我可以使用使用我的功能的用户所连接的当前连接吗?
我有一个外部分区配置单元表,下面的文件行格式分隔字段以“通过配置单元直接读取数据就可以了,但是当使用Spark的Dataframe API时,分隔符”没有被考虑在内。 创建外部分区表: dataframe.show()输出:
我正在尝试连接Hive数据库与我的Java代码。我搜索了很多关于Hive_Client的信息,但是有很多错误和依赖,有人能帮我找到代码和库文件吗。
我在我的java应用程序中使用hive JDBC1.0来创建与hive服务器的连接并执行查询。我想从java代码中设置空闲配置单元连接超时。就像say一样,用户首先创建配置单元连接,如果配置单元连接在接下来的10分钟内保持空闲,那么该连接对象将过期。如果用户在10分钟后使用相同的连接对象执行查询,那么配置单元jdbc将抛出错误。你能告诉我通过java代码实现这一点的方法吗。 我知道配置单元中有一个
我已经将Teradata表的数据迁移到配置单元中。 如果我使用joins,我需要连接五个表,在hive中可以吗?或者我应该将查询分成五个部分?对于这个问题应该采取什么明智的方法? 请建议