问题标签 [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.
hadoop - 重复创建和删除 Hive 表的影响
我有一个用例,需要大约 200 个蜂巢式镶木地板。我需要从平面文本文件中加载这些镶木地板表。但是我们不能直接从平面文本文件中加载拼花表。所以我使用以下方法
- 创建了一个临时托管文本表。
- 加载带有文本数据的临时表。
- 创建外部镶木地板表。
- 使用选择查询加载带有文本表的镶木地板表。
- 删除临时文本表的文本文件(但将表保留在元存储中)。
由于这种方法将临时元数据(用于 200 个表)保存在元存储中。所以我有第二种方法是我也会删除临时文本表以及来自 hdfs 的文本文件。下次重新创建临时表并在创建镶木地板后删除。
现在,由于我需要每 2 小时对所有 200 个表执行上述步骤,所以从 Metastore 创建和删除表会影响生产期间集群中的任何内容吗?
哪种方法会影响生产,将临时元数据保存在元存储中,从 hive 元存储中创建和删除表(元数据)?
hive - 配置 Hive 远程元存储
在 Hadoop: The Definitive Guide 一书中,有一些关于 Hive 远程元存储的内容如下:
“更进一步,还有另一种 Metastore 配置,称为远程 Metastore,其中一个或多个 Metastore 服务器在 Hive 服务的不同进程中运行。这带来了更好的可管理性和安全性,因为数据库层可以完全被防火墙关闭,并且客户端没有不再需要数据库凭据。”
有谁知道上面这段是什么意思?为什么“数据库层可以完全被防火墙关闭,客户端不再需要数据库凭据”?
java - Hive Metastore - 如何使用客户端 API 获取创建表字符串?
我能够使用 HiveMetaStoreClientgetTable
功能。但是,这并没有我需要的所有信息(例如,创建表期间的 SerDe 函数参数)。
有没有办法让我使用 Hive Metastore 来查看创建表调用,就像我show create table test
在 hive shell 中调用一样?
hadoop - 将配置单元用作元存储时无法查看数据库
为了通过 Apache Drill 访问配置单元,我将 Metastore 作为服务启动。
为了将其用作 hive-site.xml 中的元存储,我将 hive.metastore.uris 参数设置为 thrift://localhost:9083。
创建元存储服务后,我正在尝试查看数据库。它仅显示两个数据库,而不是在将配置单元作为服务启动之前创建的 4 个。
之前创建的一些表格也没有显示。
当我浏览文件夹 /hive/user/warehouse/ 时,我可以看到所有的表和所有的数据库。
当我将元存储作为服务停止并检查它显示所有 4 个数据库时。我不确定后面发生了什么。
任何人都可以帮助我,如果你面临同样的问题,需要做什么?
我使用 Apache Derby 作为后端数据库。
hadoop - 使用 $HIVE_METASTORE_JARS 指定正确 hive jar 的有效路径或将 spark.sql.hive.metastore.version 更改为 1.2.1
当我尝试在具有 HiveContext 的 Jar 上运行 spark-submit 时,出现以下错误。
Spark-defaults.conf 有
我想使用 Hive Metastore 0.14 版。spark 和 hadoop 都在 diff 集群上。
谁能帮我解决这个问题?
16/09/19 16:52:24 信息 HiveContext:默认仓库位置是 /apps/hive/warehouse 线程“main”中的异常 java.lang.IllegalArgumentException:内置 jars 只能在 hive 执行版本 == hive metastore 版本时使用. 执行:1.2.1!= Metastore:0.14.0。使用 $HIVE_METASTORE_JARS 指定正确 hive jar 的有效路径或将 spark.sql.hive.metastore.version 更改为 1.2.1。在 org.apache.spark.sql.hive.HiveContext.metadataHive$lzycompute(HiveContext.scala:254) 在 org.apache.spark.sql.hive.HiveContext.metadataHive(HiveContext.scala:237) 在 org.apache.spark .sql.hive.HiveContext.setConf(HiveContext.scala:441) at org.apache.spark.sql.SQLContext$$anonfun$4.apply(SQLContext.scala:272) at org.apache.spark.sql.SQLContext$$ anonfun$4.apply(SQLContext.scala:271) 在 scala。
hive - Google Cloud Dataproc 无法使用初始化脚本创建新集群
我正在使用以下命令创建数据 proc 集群:
gcloud dataproc 集群创建 informetis-dev --initialization-actions “gs://dataproc-initialization-actions/jupyter/jupyter.sh,gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy .sh,gs://dataproc-initialization-actions/hue/hue.sh,gs://dataproc-initialization-actions/ipython-notebook/ipython.sh,gs://dataproc-initialization-actions/tez/tez .sh,gs://dataproc-initialization-actions/oozie/oozie.sh,gs://dataproc-initialization-actions/zeppelin/zeppelin.sh,gs://dataproc-initialization-actions/user-environment/user -environment.sh,gs://dataproc-initialization-actions/list-consistency-cache/shared-list-consistency-cache.sh,gs://dataproc-initialization-actions/kafka/kafka.sh,gs:/ /dataproc-initialization-actions/ganglia/ganglia.sh,gs://dataproc-initialization-actions/flink/flink.sh” --image-version 1。1 --master-boot-disk-size 100GB --master-machine-type n1-standard-1 --metadata "hive-metastore-instance=g-test-1022:asia-east1:db_instance" --num-preemptible -workers 2 --num-workers 2 --preemptible-worker-boot-disk-size 1TB --properties hive:hive.metastore.warehouse.dir=gs://informetis-dev/hive-warehouse --worker-machine -type n1-standard-2 --zone asia-east1-b --bucket info-dev
但 Dataproc 未能创建集群,失败文件中出现以下错误:
cat + mysql -u hive -phive-password -e '' ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111) + mysql -e 'CREATE USER '\''hive'\''由 '\''hive-password'\'';' 识别 错误 2003 (HY000): 无法连接到“本地主机”上的 MySQL 服务器 (111)
有没有人知道这个失败背后的想法?
apache-spark - 如何在本地模式下使用 HiveContext 更改用于 Apache Spark 的 Hive Metastore DB 以进行单元测试?
我想使用h2而不是Derby作为 Hive Metastore DB 进行本地单元测试,以本地模式运行 Apache Spark。
hiveContext.set("javax.jdo.option.ConnectionURL", connectionUrl)
设置不起作用导致配置单元上下文已更早初始化(以及元存储数据库)。SparkConf上的设置也不起作用。你可以帮帮我吗?
hive - 使用没有 Hadoop/HDFS 的配置单元元存储服务
我知道这个问题有点奇怪。我喜欢 Hadoop 和 HDFS,但最近使用 Hive Metastore 研究 SparkSQL。
我想使用 SparkSQL 作为一个垂直 SQL 引擎来跨不同的数据源(如 RDB、Mongo、Elastic ......)运行 OLAP 查询,而无需 ETL 过程。然后我在 Metastore 中使用相应的 Hive 存储处理程序将不同的模式注册为外部表。
此外,HDFS 在我的工作中并未用作数据源。然后,给定的 Map/R 已经被 Spark 引擎取代。在我看来,Hadoop/HDFS 是无用的,但它是 Hive 安装的基础。我不想都买。
我想知道如果我只启动 Hive Metastore 服务而不使用 Hadoop/HDFS 来支持 SparkSQL,会发生什么样的问题。我会把自己放到丛林里吗?
mysql - 无法启动 spark thriftserver(用于 spark 的 hive-site.xml 没有覆盖默认值)
背景:
- CentOS7
- hadoop-2.7.3
- spark-2.0.1-bin-hadoop2.7
- apache-hive-2.1.0-bin (仅用于通过 hive --service metastore 启动 metastore 服务)
- 已配置 HADOOP_HOME、SPARK_HOME 和 HIVE_HOME 等
- mysql 5.7.16
- 已将 mysql-connector-java-5.1.40-bin.jar 放入 hive/lib/ 和 spark/jars/
蜂巢站点.xml:
我将 hive-site.xml 放入 hive/conf/ 和 spark/conf/
但是运行 start-thriftserver.sh,我得到了错误日志(在 spark_home/logs/ spark- -HiveThriftServer2 .out 中):
在日志中,我们可以看到属性“hive.metastore.uris”确实有效。
但似乎其他 mysql 相关属性不起作用,metastore 仍然使用默认数据库 derby。
任何帮助表示赞赏!谢谢。
解决:
我删除了 hive.metastore.uris 因为我只是在本地使用了 hive。
将 hive.metasotre.schema.verification 设置为 false。感谢尼尔马尔的帮助。