问题标签 [hdp]
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.
apache-spark - 在 HDP 3.1 中插入覆盖操作后,Hive 外部表保留旧数据文件
我正在 Hive (HDP 3.1) 中执行插入覆盖操作。问题在于它不断添加基本文件和增量文件,其中基本文件包含新插入的数据,而增量包含覆盖操作之前的旧数据。
在 Hive 上查询只为我提供了新添加的数据,但是当涉及到 spark 时 - 它倾向于从位于 HDFS 位置的 delta 和基本文件中输出旧数据和新数据。
我需要找到以下解决方案 -
1)有什么方法不允许 Hive 在使用插入覆盖操作时首先存储增量文件 - (任何设置?)
2) 为什么 spark 获取旧数据?它是否总是在内部引用表格位置?我怎样才能阻止它读取增量文件?
注意:我们的管理员已将 Hive Warehouse 连接器配置为从 Hive 中的任何数据库读取,如 HDP 文档中所述。而且我不想在将数据读入 spark 之前使用hadoop fs -rm -r file手动删除文件。任何人都可以提供任何指示。
谢谢。
apache-spark - 在 VM 集群上安装 Presto 并将其连接到不同 Yarn 集群上的 HDFS
我们有一个 HDP 2.6.4 spark 集群,有 10 台 linux worker 机器。
集群通过 HDFS 运行 spark 应用程序。HDFS 安装在所有工作人员上。
我们希望安装 presto 来查询集群的 HDFS,但是由于工作机器中缺乏 CPU 资源(每台机器只有 32 个内核),因此计划在集群外部安装 presto。
为此,我们有多个 ESX,每个 ESX 将有 2 个 VM,每个 VM 将运行一个 presto 服务器。
所有的 ESX 机器都将通过 10g 网卡连接到 spark 集群,这样两个集群就在同一个网络中。
我的问题是 - 我们可以在 VM 集群上安装 presto,尽管 HDFS 不在 ESX 集群上(而是在 spark 集群上)?
编辑:
我们得到的答案似乎是在 VM 上安装 presto 是标准的,所以我想澄清我的问题:
Presto 在 presto/etc 下有一个名为 hive.properties 的配置文件。
在该文件中有一个名为 hive.config.resources 的参数,其值如下:
/etc/hadoop/conf/presto-hdfs-site.xml,/etc/hadoop/conf/presto-core-site.xml
这些文件是 HDFS 配置文件,但由于 VM 集群和 spark 集群(包含 HDFS)是独立的(VM 集群上的 presto 应该访问驻留在 spark 集群上的 HDFS),问题是——
是否应该将这些文件从 spark 集群复制到 VM 集群?
hive - 选择具有不同单列值的前 5 行
我试图拉出与特定measureid相关的最高测量值的前五个状态。我的问题是我试图以最高测量值提取 DISTINCT 状态。
我的查询:
我希望输出带有 DISTINCT 状态名,即我不想重复。如果加州有一年最高,就不会再重复了。
目前它显示为“......加利福尼亚州,22 岁;......加利福尼亚州,22 岁;......加利福尼亚州,19 岁;......亚利桑那州,18 岁;......加利福尼亚州,18 岁”
apache-spark - Spark sql在HDP的hive中找不到表
我使用 HDP3.1 并添加了 Spark2、Hive 和其他所需的服务。我在 Hive 中关闭了 ACID 功能。spark 作业在 hive 中找不到表。但是该表存在于 Hive 中。异常喜欢: org.apache.spark.sql.AnalysisException: Table or view not found Spark 的 conf 文件夹中有 hive-site.xml。它由 HDP 自动创建。但它与 hive 的 conf 文件夹中的文件不同。并且从日志中spark可以正确获取hive的thrift URI。我使用 spark sql 并在 spark-shell 中创建了一个配置单元表。我发现该表是在 spark.sql.warehouse.dir 指定的折叠中创建的。我将其值更改为 hive.metastore.warehouse.dir 的值。但问题仍然存在。创建火花会话时,我还启用了配置单元支持。
hadoop - 无法启动配置单元,无法解析 [${clusterHostInfo/webhcat_server_host|append(core-site/hadoop.proxyuser.HTTP.hosts]
环境:
- 安巴里 2.7
- HDP 3.1.0
- 封装的 kerberos
- 使用 openldap
集群使用kerberos。我从 2.6 升级后卸载了 KNOX。每当我安装 hive/hbase 时都会发生这种情况。而且我无法正确安装 KNOX ......
当我添加配置单元服务时,纱线资源管理器错误。
请问是什么原因造成的?Hcat 是否已从HDP 3.x 文档中删除?为什么会自动配置webhcat_server_host
?
现在出现这种问题,应该怎么解决?
谢谢您的帮助。
mysql - Hive Metastore 每四到六个小时就会断开连接
**Hive Metastore 每四到六个小时就会关闭一次,并出现错误消息,例如 **
hive 直线连接类型:tcp hive 版本:3.1 HDP 版本:3.1 MySql 版本:5.7.25 Mysql-java-jar 版本:8.0.13 Hikaripoool 版本:2.6.1
我尝试在 Metastore mysql jdbc 连接中设置连接属性 autoReconnect 但这没有帮助
apache-spark - 如何在 HDP 上的自定义版本中以无头模式运行 spark?
如何在无头模式下运行 spark?目前,我正在集群上的 HDP 2.6.4(即默认安装 2.2)上执行 spark。我已经从https://spark.apache.org/downloads.html以无头模式(即没有内置 hadoop jar)下载了 spark 2.4.1 Scala 2.11 版本。确切的名称是:使用 scala 2.11 和用户提供的 hadoop 预构建
现在,当我尝试运行时,我遵循:https ://spark.apache.org/docs/latest/hadoop-provided.html
不幸的是,它无法启动:
所以:
是原因(类似于https://community.hortonworks.com/questions/23699/bad-substitution-error-running-spark-on-yarn.html),但这完全在 Ambari 的管理域内。如何解决它以在现有的 2.6.x HDP 平台上运行更新版本的 spark (2.4.x)?
编辑
假设我为 传递了错误的配置目录HADOOP_CONF_DIR
,它是未设置的。但是之后:
所以必须通过。可能是我传递了错误的值吗?根据异常:java.lang.Exception:使用主“纱线”运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR。在火花中可能是正确的。对我来说,默认情况下没有设置 HADOOP_HOME。
即使设置为: export HADOOP_CONF_DIR=/usr/hdp/current/spark2-client/conf
,同样的错误替换错误仍然存在。
注意:一些有趣的步骤:
hdfs - 在 hdfs 中创建文件失败
我有一个尝试将文件写入 hdfs 的 java 程序,但我收到以下错误消息:
apache-spark - 在纱线上运行时自定义火花找不到配置单元数据库
按照https://georgheiler.com/2019/05/01/headless-spark-on-yarn/的教程,在 HDP 中启动自定义版本的 spark on yarn 可以正常工作,即:
但是,一个:
只返回:
现在尝试传递原始的 HDP 配置(我的自定义版本的 spark 显然没有读入),例如:
一:
二:
三:
四:
一切都无助于解决问题。如何让 spark 识别 hive 数据库?
docker - 获取“docker:无效的参考格式”。运行 docker-deploy-hdp30.sh 时
我正在尝试设置 HDP3 docker 沙箱。我运行部署脚本。容器成功启动,但在部署后脚本期间,它以“docker: invalid reference format.”结尾。容器正在运行,但此时仅映射了几个端口。
试图在这里找到一些答案,但我没有看到这个确切的问题
这是整个输出: