0

我必须将数据从 azure datalake 加载到数据仓库。我已经创建了用于创建外部表的设置。有一列是双数据类型,我在 sql server 数据仓库中使用十进制类型来创建外部表和文件格式是镶木地板。但使用 csv 它正在工作。我收到以下错误。

HdfsBridge::recordReaderFillBuffer - 填充记录读取器缓冲区时遇到意外错误:ClassCastException:类 java.lang.Double 无法转换为类 parquet.io.api.Binary(java.lang.Double 位于加载器“引导程序”的模块 java.base 中; parquet.io.api.Binary 位于加载程序“app”的未命名模块中。

有人可以在这个问题上帮助我吗?提前致谢。

CREATE EXTERNAL TABLE [dbo].[EXT_TEST1]
( A VARCHAR(10),B decimal(36,19))) 
(DATA_SOURCE = [Azure_Datalake],LOCATION = N'/A/B/PARQUET/*.parquet/',FILE_FORMAT =parquetfileformat,REJECT_TYPE = VALUE,REJECT_VALUE = 1)

Column datatype in databricks:
A string,B double 
Data: A  |  B
      'a'  100.0050
4

1 回答 1

0

使用具有 53 位精度和 8 字节长度的 float(53)。

于 2020-07-12T21:16:05.057 回答