【发布时间】:2016-06-06 15:36:07
【问题描述】:
我必须用 c# 编写一个从文件中读取数十亿条记录的应用程序,然后通过 IMPALA ODBC 在 Impala 表上写入记录。我已经尝试使用带参数的单个语句执行插入查询
INSERT INTO table VALUES (?,?,.....,?)
或使用多个插入:
INSERT INTO table VALUES (?,?,.....,?),(?,?,.....,?),...,(?,?,.....,?)
但是第一个非常慢,并且在 hdfs 上为每个记录创建一个文件;第二个更快,但查询很长,对于数十亿条记录,我收到以下错误:
[Cloudera][SQLEngine] (31580) 语句长度超过最大值:16384。
考虑到我必须使用 c# 作为我的应用程序的语言,有人为我的问题提供了一些解决方案。
谢谢
【问题讨论】:
-
您正在读取记录的文件类型是什么?
-
如何通过 ODBC 执行后一个示例?