Hive資料倉庫--HiveUDF異常解析與其中的坑
使用Hive進行分析的過程中遇到了這個異常的資訊,一開始看到比較驚訝,因為感覺程式碼並沒有什麼不太合理的地方,不過還是丟擲了一堆的異常資訊,我把日誌資訊讀了一下,發現導致最終異常的是FastJson在封裝的時候找不到無參建構函式,雖然最終原因不是Hive引起的,但是上面的一堆異常也的確是唬人的。
異常資訊
在使用的過程中請注意這一點,Hive中報錯的時候,先看日誌,從上往下找最終導致異常的地方,然後進行解決。Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"sourceid":"4649475029B8","sourcelabelw":"[{\"Name\":\"XX\",\"Weight\":6},{\"Name\":\"XX\",\"Weight\":6}]"} at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:195) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162) Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"sourceid":"4649475029B8","sourcelw":"[{\"Name\":\"XX\",\"Weight\":6},{\"Name\":\"XXX\",\"Weight\":6}]"} at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:550) at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:177) ... 8 more Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute method public java.lang.String cn.siti.main.MergeUDF.evaluate(java.lang.String,java.lang.String) on object
[email protected] of class cn.siti.main.MergeUDF with arguments {[{"Name":"XXX","Weight":6},{"Name":"XXX","Weight":6}]:java.lang.String, XXXX,7:java.lang.String} of size 2 at org.apache.hadoop.hive.ql.exec.FunctionRegistry.invoke(FunctionRegistry.java:1243) at org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge.evaluate(GenericUDFBridge.java:182) at org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator._evaluate(ExprNodeGenericFuncEvaluator.java:166) at org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator.evaluate(ExprNodeEvaluator.java:77) at org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator.evaluate(ExprNodeEvaluator.java:65) at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:79) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:793) at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.internalForward(CommonJoinOperator.java:638) at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.genAllOneUniqueJoinObject(CommonJoinOperator.java:670) at org.apache.hadoop.hive.ql.exec.CommonJoinOperator.checkAndGenObject(CommonJoinOperator.java:754) at org.apache.hadoop.hive.ql.exec.MapJoinOperator.processOp(MapJoinOperator.java:242) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:793) at org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:92) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:793) at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:540) ... 9 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.hive.ql.exec.FunctionRegistry.invoke(FunctionRegistry.java:1219) ... 23 more Caused by: com.alibaba.fastjson.JSONException: default constructor not found. class cn.siti.domain.TagInfo at com.alibaba.fastjson.util.JavaBeanInfo.build(JavaBeanInfo.java:212) at com.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:486) at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:433) at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:288) at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:651) at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:630) at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:625) at com.alibaba.fastjson.JSON.parseArray(JSON.java:491) at cn.siti.main.MergeUDF.evaluate(MergeUDF.java:21) ... 28 more
此外有時候會遇到一個很無奈的問題
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
There are 3 datanode(s) running and no node(s) are excluded in this operation
本次執行中出現了這樣的問題,我這邊造成問題的主要原因是:nodemanager停止了,然後任務分發的時候出現問題。重新啟動yarn即可
相關推薦
Hive資料倉庫--HiveUDF異常解析與其中的坑
使用Hive進行分析的過程中遇到了這個異常的資訊,一開始看到比較驚訝,因為感覺程式碼並沒有什麼不太合理的地方,不過還是丟擲了一堆的異常資訊,我把日誌資訊讀了一下,發現導致最終異常的是FastJson在封裝的時候找不到無參建構函式,雖然最終原因不是Hive引起的,但是上面的一堆
Hive資料倉庫工具安裝
一.Hive介紹 Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單SQL查詢功能,SQL語句轉換為MapReduce任務進行執行。 優點是可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉庫的統計分
5、Hive 資料倉庫技術
一、Hive 概念 Hive 是基於 Hadoop 的資料倉庫軟體,可以查詢和管理 PB 級別的分散式資料。資料倉庫已用多種方式定義,很難給出一種嚴格的定義。寬泛來講,資料倉庫是一種資料庫,他與單位的操作資料庫分別維護。資料倉庫系統允許將各種應用系統整合在一起,為統一的歷史資料分析提供堅實的
資料倉庫的詳細解析
原 資料倉庫的架構與設計 2017年04月01日 17:52:19 Trigl 閱讀數:37724 1. 什麼是資料倉庫 1.1 資料
scala jdbc遠端訪問hive資料倉庫
需求: 通過簡單的Scala程式碼遠端連線Hive,查詢Hive表資料並將資料轉存到本地。另外,用Scala查詢到資料後,我們還可以將查詢到的ResultSet集合轉化為RDD或者DataFrame進行scala的運算元運算 第一步:啟動伺服器以及需
Hive資料倉庫學習(一)之Hive初步認識
Hive,資料倉庫,是基於Hadoop的一個數據倉庫工具,它可以將結構化的資料檔案對映在一直資料庫表中,使用HQL(類SQL)開發,是一款很好的離線處理資料工具,在Hadoop中,用來進行離線批處理的事MapReduce,但是MapReduce比較難,新手不太好上手,所以利用
hive 資料倉庫過濾 非法字元,不可見字元,亂碼
接收到伺服器端傳回來的資料以後,入到了hive表當中,發現一些url 的傳參是亂碼的。這時候,需要進行過濾。 例如: select uri from table limit 10; 在ascii 碼錶中,可見字元的範圍是:32~126
HIVE—資料倉庫
1、 hive是什麼? Hive是基於 Hadoop 的一個數據倉庫工具: 1. hive本身不提供資料儲存功能,使用HDFS做資料儲存; 2. hive也不分
大資料時代,OLAP解析與發展方向
前言:資料分析領域自2010前後一直佔據了全球資訊科技的核心地位,OLAP的需求並未隨著Hadoop的流行而消亡,而是被越來越理智的認可——“資料再多也需要分析、分析的主要需求還是互動查詢”。本文概括了OLAP的本質原則、曾經的困境和當前的技術派系,希望能引起從業者的思考,共同促進行業進步與發展!
Scala遠端訪問Hive資料倉庫
通過Hue等遠端WebUI介面訪問Hive,效率往往受到網路限制,並且不能將Hive資料倉庫的內容實現匯入匯出到本地,因此,今天筆者就通過簡單的Scala程式碼遠端連線Hive,查詢Hive表資料並
資料倉庫系統的實現與使用(含OLAP重點講解)
前言 上一篇重點講解了資料倉庫建模,它是資料倉庫開發中最核心的部分。然而完整的資料倉庫系統還會涉及其他一些元件的開發,其中最主要的是ETL工程,線上分析處理工具(OLAP)和商務智慧(BI)應用等。 本文將對這些方面做一個總體性的介紹
dataframe操作hive資料倉庫【Java純程式碼】
package com.bjsxt; import org.apache.spark.SparkConf; import org.apache.spark.SparkContext; import org.apache.spark.api.java.JavaSparkCon
在Linux 中安裝hive資料倉庫
hive正是實現了這個,hive是要類SQL語句(HiveQL)來實現對hadoop下的資料管理。hive屬於資料倉庫的範疇,那麼,資料庫和資料倉庫到底有什麼區別了,這裡簡單說明一下:資料庫側重於OLTP(線上事務處理),資料倉庫側重OLAP(線上分析處理); 首先確定
關係型資料庫和非關係型資料庫,以及hive資料倉庫的區別
關係型資料庫:Mysql,Oracle 非關係型資料庫:Redis,MongoDB,HBASE 類SQL資料庫:hive 具體地: 關係型資料庫(Mysql和Oracle) 1.表和表、表和欄位、資料和資料存在著關係 優點: 1.資料之間有關係,進行資料的增刪改
淺析資料庫(DB)、操作資料儲存(ODS)和資料倉庫(DW)的區別與聯絡
文章背景: 相信大部分剛接觸上面三個概念的同學,都多多少少會有些迷惑,現在我就給大家簡單分析下這三者的關係,希望大家對這三者的概念理解有所幫助吧。 本文主要從下面兩類關係來敘述上面三者的關係: 資料庫(DB)和資料倉庫(DW)的區別與聯絡操作資料儲存(ODS)和資料倉庫(DW)的區別與聯絡 資料庫與資
hive的訪問:通過JDBC遠端連線hive資料倉庫
hive的訪問:終端訪問 遠端訪問 終端訪問:安裝hive,利用shell指令碼訪問 不可併發訪問 遠端訪問:通過JDBC連線資料倉庫 支援併發訪問 啟動hiveserver2服務:檢視該命令可知hiveserver2,等價於hive --service hive
快速查詢hive資料倉庫表中的總條數
Author: kwu 快速查詢hive資料倉庫中的條數,在查詢hive表的條數,通常使用count(*),但是資料量大的時候,mr跑count(*)往往需要幾分鐘的時間。 1、傳統方式獲得總條
物理隔離下的資料交換平臺難點解析與實踐(一)
目錄 第零章、前言:為什麼?做什麼?怎麼做? 第一章、資料交換平臺的一些基本概念 目錄 第零章、前言:為什麼?做什麼?怎麼做? 最近帶隊做了公司的一個專案,叫資料交換平臺,旨在物理隔離的情況下對多端業務系統進行
雲端資料倉庫的模式選型與建設
資料,對一個企業的重要性不言而喻,如何利用好企業內部資料,發揮資料的更大價值,對於企業管理者而言尤為重要。作為最傳統的資料應用之一,資料倉庫在企業內部扮演著重要的角色,構建並正確配置好資料倉庫,對於資料分析工作至關重要。一個設計良好的資料倉庫,可以讓資料分析師們如魚得水;否則可能使
Hive資料倉庫你瞭解了嗎
在工作中我們經常使用的資料庫,資料庫一般存放的我們系統中常用的資料,一般為百萬級別。如果資料量龐大,達到千萬級、億級又需要對他們進行關聯運算,該怎麼辦呢? 前面我們已經介紹了HDFS和MapReduce了,它倆結合起來能夠進行各種運算,可是MapReduce的學習成本太高了,如果有一種工具可以直接使用sql