问题标签 [hive-metastore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
141 浏览

hadoop - Sqoop 增量 SemanticException 没有文件匹配 hdfs://host/user/xyz/_sqoop/ 错误?

我正在尝试创建一个已保存的 sqoop 作业(增量)并使用 sqoop 元存储作为存储库。(出于安全原因,“xyz”是运行作业的 unix 用户,sample_table 用于参考)

使用本地 sqoop 元存储,在执行存储的作业时也会使用它。

Sqoop 运行良好,我可以看到数据被拉到 hdfs 位置。但是,最后得到这个错误。似乎无法在任何地方找到解决方法。尝试授予 _sqoop 目录的完全权限,但仍然存在相同的问题。

但上述文件不在 _sqoop 位置。相反,每次我运行 sqoop 操作时,都会看到创建的新的不同名称的文件。/ sqoop/

有人可以阐明这里到底发生了什么。在这个领域相当新,因为这是第一次尝试使用 Metastore 启动 sqoop 增量作业。

0 投票
1 回答
1056 浏览

hive - 失败:语义异常 org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeExcept

每当我尝试执行 hive cmd 时,我都在使用 cdh 5.13.0 环境,它会显示错误

失败:语义异常 org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

我检查了 hive-metastore.log ,它显示

2018-05-02 06:15:53,225 错误 [main]:Datastore.Schema (Log4JLogger.java:error(125)) - 初始化数据库失败。无法打开到给定数据库的测试连接。JDBC url = jdbc:derby:;databaseName=metastore_db;create=true, 用户名 = APP。终止连接池(如果您希望在应用程序之后启动数据库,请将 lazyInit 设置为 true)。原始异常: ------ java.sql.SQLException: 无法创建数据库 'metastore_db',有关详细信息,请参阅下一个异常。在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) 在 org.apache.derby.impl.jdbc.Util.seeNextException (未知来源)在 org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(未知来源)在 org.apache.derby.impl.jdbc。org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:6646) 的 metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:6719) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 的 sun.reflect。 NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util .RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 原因:ERROR XJ041: Failed to create database 'metastore_db',详见下一个异常. 在 org.apache.derby.impl.jdbc.SQLExceptionFactory 的 org.apache.derby.iapi.error.StandardException.newException(未知来源)。wrapArgsForTransportAcrossDRDA(Unknown Source) ... 61 更多原因:错误 XBM0H:无法创建目录 /metastore_db。在 org.apache.derby.iapi.error.StandardException.newException(Unknown Source) 在 org.apache.derby.iapi.error.StandardException.newException(Unknown Source) 在 org.apache.derby.impl.services.monitor.StorageFactoryService $10.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(Unknown Source) at org.apache.derby.impl.services。 monitor.BaseMonitor.bootService(Unknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source) at org.apache.derby.impl.services.monitor.FileMonitor.createPersistentService(Unknown Source) at org.apache.derby。

... 58 更多

org.datanucleus.exceptions.NucleusDataStoreException:无法打开到给定数据库的测试连接。JDBC url = jdbc:derby:;databaseName=metastore_db;create=true, 用户名 = APP。终止连接池(如果您希望在应用程序之后启动数据库,请将 lazyInit 设置为 true)。原始异常: ------ java.sql.SQLException: 无法创建数据库 'metastore_db',有关详细信息,请参阅下一个异常。在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) 在 org.apache.derby.impl.jdbc.Util.seeNextException (未知来源)在 org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(未知来源)在 org.apache.derby.impl.jdbc.EmbedConnection。(未知来源)在 org.apache.derby.jdbc。hive.metastore.HiveMetaStore.main(HiveMetaStore.java:6646) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.hadoop.util.RunJar.run(RunJar.java:221) 在 org.apache.hadoop.util .RunJar.main(RunJar.java:136) Caused by: ERROR XJ041: Failed to create database 'metastore_db',详见下一个异常。在 org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source) ... 61 更多原因:错误 XBM0H: Directory /metastore_db无法创建。

... 58 更多

我不知道该怎么办。hive-metastore 服务器的状态为关闭且未关闭

0 投票
1 回答
4530 浏览

hadoop - Hive 2.3.3 MetaException(消息:在元存储中找不到版本信息。)

我有 Hive 2.3.3 和 Hadoop 3.1.0。我可以在终端上使用 hive 命令启动 Hive,但是当我尝试创建表时,我收到以下错误:

如果我启动 hive --service metastore 下面的代码是发布的错误:

根据我的大学教师指南,我所做的唯一修改是删除 hive-jdbc-1.0.0-standalone.jar 并创建 /tmp 和 /user/hive/warehouse。有人可以帮我使用蜂巢吗?

0 投票
0 回答
275 浏览

apache-spark - 使用 Spark (1.6.0) SQL 的 Kerberos 启用远程 Hive Meta Store (hive-1.1.0) 访问问题

我的 Hive 版本是 1.1.0 而 spark 是 1.6.0 连接没有问题。我能够使连接成功。

在导入数据或使用 hive 连接创建数据链接时连接后,我可以看到数据库名称和表属于它,但在java.lang.IllegalArgumentException: java.net.UnknownHostException: xxx-nameservice从表中检索数据时出现错误()。下面是我的代码:

下面是问题:

java.lang.IllegalArgumentException: java.net.UnknownHostException: xxx-nameservice at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:406) at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java :310) at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:176) at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:728) at org.apache.hadoop.hdfs.DFSClient .(DFSClient.java:671) 在 org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:155) 在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2800) 在 org.apache .hadoop.fs.FileSystem.access$200(FileSystem.java:98) 在 org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2837) 在 org.apache.hadoop.fs。FileSystem$Cache.get(FileSystem.java:2819) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:387) at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)在 org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodesInternal(TokenCache.java:97) 在 org.apache.hadoop.mapreduce.security.TokenCache.obtainTokensForNamenodes(TokenCache.java:80) 在 org.apache.hadoop.mapred .FileInputFormat.listStatus(FileInputFormat.java:206) at org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat.listStatus(AvroContainerInputFormat.java:42) at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat .java:315) 在 org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:202) 在 org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239) 在组织。apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237) at scala.Option.getOrElse(Option.scala:120) at org.apache.spark.rdd.RDD.partitions(RDD. scala:237) 在 org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35) 在 org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)

0 投票
2 回答
984 浏览

apache-spark - 在 Hive 表 hdfs 文件夹中写入文件并使其可用于从 Hive 查询

我正在使用 Spark 2.2.1,它有一个有用的选项来指定我想在文件的每个分区中保存多少条记录;此功能允许在写入文件之前避免重新分区。但是,似乎此选项仅可用于 FileWriter 接口而不是 DataFrameWriter 接口:这样该选项被忽略

虽然以这种方式工作

所以我是直接在指定表的HiveMetastore文件夹中写入orc文件。问题是如果我在插入后查询 Hive 表,则 Hive 无法识别此数据。你知道是否有办法在 hive 元存储中直接写入分区文件并通过 Hive 表使它们也可用?

0 投票
1 回答
829 浏览

apache-spark - 是否可以在没有 Hive 的情况下使用具有 ORC 文件格式的 Spark?

我正在使用 HDP 2.6.4,更具体地说是 Hive 1.2.1 和 TEZ 0.7.0,Spark 2.2.0。

我的任务很简单。以 ORC 文件格式存储数据,然后使用 Spark 处理数据。为了实现这一点,我正在这样做:

  1. 通过 HiveQL 创建 Hive 表
  2. 使用 Spark.SQL("select ... from ...") 将数据加载到数据框中
  3. 针对数据框进行处理

我的问题是: 1. Hive 在幕后的角色是什么?2. 是否可以跳过 Hive?

0 投票
0 回答
530 浏览

hive - 无法在 cloudera vm 上启动 hive

我是大数据系统的初学者。我已经在我的 Oracle Virtual Box 中安装了 Cloudera 快速启动 vm-5.13.0。我发出以下命令来启动配置单元。

但是出现以下错误并且没有启动配置单元。它似乎无法与 Hive 元存储连接,但我没有对 VM 安装进行任何更改。请让我知道启动 hive 所需的任何手动更改。

谢谢。

0 投票
2 回答
1113 浏览

apache-spark - Spark 程序在内部调用 HDFS:/apps/hive/warehouse

场景/代码详情


我正在创建一个 spark session 对象来将数据存储到 hive 表中,如下所示:

将我的 JAR 部署到服务器后,出现以下异常:

在我的 hive-site.xml 中,我给出了以下配置。我们将此 xml 添加到我们的 spark 代码中,以便可以覆盖 /etc/hive/conf 中的默认 xml:

问题:


  1. 整个开发团队现在不确定为什么以及从哪里获取这条路径:/apps/hive/warehouse,即使在覆盖我们的自定义 hive-site.xml 之后也是如此?

  2. 是不是内部 HDFS 框架调用这个位置来存储它的中间结果并且它需要这个路径的执行权限?

根据政策,我们无法在 /apps/hive/warehouse 向用户提供 777 级访问权限,原因有两个:

将来可能会有其他一组不同的用户。在仓库向用户提供 777 是不安全的。

  1. 以上两个原因是正确的还是有一些解决方法?
0 投票
1 回答
609 浏览

hive - 在 HIVE Metastore 中查询表和列注释

我试图弄清楚如何在 HIVE Metastore 中查询表和列注释(描述)。如果有办法将评论添加到 HIVE 表/列,不应该是一种查询/报告来自 HIVE Metastore 的评论的方法吗?

请帮忙 :)

最好的问候,迈克尔

0 投票
1 回答
14758 浏览

apache-spark - 如何在 Spark 中的 partitionby 方法中传递多列

我是 Spark 的新手。我想将数据帧数据写入配置单元表。Hive 表在多列上分区。通过 Hivemetastore 客户端,我获取了分区列,并将其作为数据帧写入方法中的 partitionby 子句中的变量传递。

当我执行上述代码时,它给了我错误分区“国家”、“国家”不存在。我认为它将“国家”、“州”作为字符串。

你能帮帮我吗?