云服务器内容精选
-
问题 Hive创建超过3.2万分区的表,执行带有WHERE分区的条件查询时出现异常,且“metastore.log”中打印的异常信息包含以下信息: Caused by: java.io.IOException: Tried to send an out-of-range integer as a 2-byte value: 32970 at org.postgresql.core.PGStream.SendInteger2(PGStream.java:199) at org.postgresql.core.v3.QueryExecutorImpl.sendParse(QueryExecutorImpl.java:1330) at org.postgresql.core.v3.QueryExecutorImpl.sendOneQuery(QueryExecutorImpl.java:1601) at org.postgresql.core.v3.QueryExecutorImpl.sendParse(QueryExecutorImpl.java:1191) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:346)
-
回答 由于已备份Hive表对应的HDFS目录创建了快照,导致HDFS目录无法删除,造成Hive表删除失败。 Hive表在执行备份操作时,会创建表对应的HDFS数据目录快照。而HDFS的快照机制有一个约束:如果一个HDFS目录已创建快照,则在快照完全删除之前,该目录无法删除或修改名称。Hive表(除EXTERNAL表外)执行drop操作时,会尝试删除该表对应的HDFS数据目录,如果目录删除失败,系统会提示表删除失败。 如果确实需要删除该表,可手动删除涉及到该表的所有备份任务。
-
Hive配置类问题 Hive SQL执行报错:java.lang.OutOfMemoryError: Java heap space. 解决方案: 对于MapReduce任务,增大下列参数: set mapreduce.map.memory.mb=8192; set mapreduce.map.java.opts=-Xmx6554M; set mapreduce.reduce.memory.mb=8192; set mapreduce.reduce.java.opts=-Xmx6554M; 对于Tez任务,增大下列参数: set hive.tez.container.size=8192; Hive SQL对列名as为新列名后,使用原列名编译报错:Invalid table alias or column reference 'xxx'. 解决方案:set hive.cbo.enable=true; Hive SQL子查询编译报错:Unsupported SubQuery Expression 'xxx': Only SubQuery expressions that are top level conjuncts are allowed. 解决方案:set hive.cbo.enable=true; Hive SQL子查询编译报错:CalciteSubquerySemanticException [Error 10249]: Unsupported SubQuery Expression Currently SubQuery expressions are only allowed as Where and Having Clause predicates. 解决方案:set hive.cbo.enable=true; Hive SQL编译报错:Error running query: java.lang.AssertionError: Cannot add expression of different type to set. 解决方案:set hive.cbo.enable=false; Hive SQL执行报错:java.lang.NullPointerException at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFComputeStats$GenericUDAFNumericStatsEvaluator.init. 解决方案:set hive.map.aggr=false; Hive SQL设置hive.auto.convert.join = true(默认开启)和hive.optimize.skewjoin=true执行报错:ClassCastException org.apache.hadoop.hive.ql.plan.ConditionalWork cannot be cast to org.apache.hadoop.hive.ql.plan.MapredWork. 解决方案:set hive.optimize.skewjoin=false; Hive SQL设置hive.auto.convert.join=true(默认开启)、hive.optimize.skewjoin=true和hive.exec.parallel=true执行报错:java.io.FileNotFoundException: File does not exist:xxx/reduce.xml. 解决方案: 方法一:切换执行引擎为Tez,详情请参考切换Hive执行引擎为Tez。 方法二:set hive.exec.parallel=false; 方法三:set hive.auto.convert.join=false; Hive on Tez执行Bucket表Join报错:NullPointerException at org.apache.hadoop.hive.ql.exec.CommonMergeJoinOperator.mergeJoinComputeKeys 解决方案:set tez.am.container.reuse.enabled=false; 父主题: Hive常见问题
-
回答 由于已备份Hive表对应的HDFS目录创建了快照,导致HDFS目录无法删除,造成Hive表删除失败。 Hive表在执行备份操作时,会创建表对应的HDFS数据目录快照。而HDFS的快照机制有一个约束:如果一个HDFS目录已创建快照,则在快照完全删除之前,该目录无法删除或修改名称。Hive表(除EXTERNAL表外)执行drop操作时,会尝试删除该表对应的HDFS数据目录,如果目录删除失败,系统会提示表删除失败。 如果确实需要删除该表,可手动删除涉及到该表的所有备份任务。
-
操作场景 此功能适用于Hive组件。 按如下操作步骤设置参数后,在未安装HBase的环境执行Hive on Spark任务时,可避免任务卡顿。 Hive on Spark任务的Spark内核版本已经升级到Spark2x,可以支持在不安装Spark2x的情况下,执行Hive on Spark任务。如果没有安装HBase,默认在执行Spark任务时,会尝试去连接Zookeeper访问HBase,直到超时,这样会造成任务卡顿。 在未安装HBase的环境,要执行Hive on Spark任务,可以按如下操作处理。如果是从已有HBase低版本环境升级上来的,升级完成之后可不进行设置。
-
回答 这是一种误操作的异常情况,需要手动删除对应表的元数据后重试。 例如: 执行以下命令进入控制台: source ${BIGDATA_HOME}/ FusionInsight _BASE_8.1.0.1/install/FusionInsight-dbservice-2.7.0/.dbservice_profile gsql -p 20051 -U hive -d hivemeta -W HiveUser@ 执行 delete from tbls where tbl_id='xxx';
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格