程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> ora-hive配置oarcle為metastore報錯ORA-01754

ora-hive配置oarcle為metastore報錯ORA-01754

編輯:編程解疑
hive配置oarcle為metastore報錯ORA-01754

在hive配置遠程模式metastore為Oracle,啟動正常,創建表時報錯

 hive> create table dht_tab(name1 int,name45 varchar(50))row format delimited fields terminated by '\t';
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : ORA-01754: a table may contain only one column of type LONG
java.sql.SQLSyntaxErrorException: ORA-01754: a table may contain only one column of type LONG

根據網上修改"hive/lib/hive-metastore-1.2.1.jar"包中package.jdo文件,將LONGVARCHAR類型修改為CLOB,操作如下:

 cd $HIVE\_HOME/lib 
mkdir temp 
cp hive-metastore-1.2.1.jar temp 
cd temp 
jar -xvf hive-metastore-1.2.1.jar
sed -i -e 's/LONGVARCHAR/CLOB/g' package.jdo 
jar cfm hive-metastore-1.2.1.jar META-INF/MANIFEST.MF * 
cp hive-metastore-1.2.1.jar $HIVE_HOME/lib

再通過 hive --service metastore 初始化hive 再進入hive創建表仍然報相同錯誤。
求解????
還有一個問題 就是hive --service hiveserver2 沒有反應
圖片說明
感謝!

最佳回答:


這個問題我自己解決了 在/hive/scripts/metastore/upgrade下有各種類型的數據庫的sql 如果創建不成功可直接在用sql在數據庫上直接創建再運行就可以了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved