0

所以我试图从一个由 SAP BW 归档过程在 HDFS 上创建的 ORC 文件创建和加载 Vora 表。BW 在该文件之上自动生成的 Hive 表除其他外具有以下列:

archreqtsn decimal(23,0)

尝试使用该数据类型创建 Vora 表失败,并出现错误“列 archreqtsn 上不支持的类型 (DecimalType(23,0)})”。那么,支持的最大小数似乎是小数(18,0)?

接下来我尝试使用 decimal(18,0) 或 string 作为该列的类型。但是当尝试从文件加载数据时:

APPEND TABLE F002_5_F 
OPTIONS  (
files "/sap/bw/hb3/nldata/o_1ebic_1ef002__5/act/archpartid=p20170611052758000009000/000000_0",
format "orc" )

我收到另一个错误:

com.sap.spark.vora.client.VoraClientException: Could not load table F002_5_F: [Vora [<REDACTED>.com.au:30932.1639407]] sap.hanavora.jdbc.VoraException: HL(9): Runtime error. (decimal 128 unsupported (c++ exception)). 
An unsuccessful attempt to load a table might lead to an inconsistent table state. Please drop the table and re-create it if necessary. with error code 0, status ERROR_STATUS

对于这个不受支持的十进制类型问题,有什么解决方法?事实上,我可能根本不需要 Vora 表中的那一列,但我无法在 ORC 文件中摆脱它。

4

0 回答 0