我在SMSS中创建外部表有困难。我将数据集存储在BLOB存储中,并尝试从那里将其加载到外部表中。我不断收到此错误:
HdfsBridge :: recordReaderFillBuffer-填充记录读取器缓冲区时遇到意外错误:HadoopSqlException:将数据类型NVARCHAR转换为INT时出错
我使用了以下查询
CREATE EXTERNAL TABLE [ext].[klant](
[number] [int] NOT NULL,
[customer_id] [int] NOT NULL,
[status] [nvarchar](50) NOT NULL,
[shipping.postcode] [nvarchar](50) NOT NULL,
[date_created] [datetime2](0) NOT NULL,
[date_completed] [datetime2](0) NOT NULL,
[shipping.address_1] [nvarchar](50) NOT NULL,
[shipping.city] [nvarchar](50) NOT NULL
)
WITH (
LOCATION='/customer/',
DATA_SOURCE = storage,
FILE_FORMAT = fileformat,
REJECT_TYPE = VALUE,
REJECT_VALUE = 0
);
我还尝试通过将数据从源复制到表来解决ADF中的此问题,但是没有运气。 我希望有人可以帮助我解决这个问题。预先感谢
答案 0 :(得分:1)
感谢您验证CREATE EXTERNAL DATA SOURCE语句。您的特定问题是在CREATE EXTERNAL TABLE语句中定义的内容与数据文件中的实际内容之间的列定义之一。
Error converting data type NVARCHAR to INT
源数据文件number
列或customer_id
列中的数据为nvarchar,并尝试存储为int。数据文件中是否还有其他字符?
该错误表明数据类型或列不匹配。