我需要上。csv文件和保存记录在大表.我申请成功地分析200个记录在csv文件和保存表。

这里是我的代码保存的数据。

for (int i=0;i<lines.length -1;i++) //lines hold total records in csv file
{
   String line = lines[i]; 

   //The record have 3 columns integer,integer,Text 

   if(line.length() > 15)
   {
 int n = line.indexOf(",");

 if (n>0)
 {
  int ID = lInteger.parseInt(ine.substring(0,n));
  int n1 = line.indexOf(",", n + 2);

  if(n1 > n)
  {
     int Col1 = Integer.parseInt(line.substring(n + 1, n1));
     String Col2 = line.substring(n1 + 1);

     myTable uu = new myTable();

     uu.setId(ID);
     uu.setCol1(MobNo);

     Text t = new Text(Col2);         
     uu.setCol2(t);

       PersistenceManager pm = PMF.get().getPersistenceManager();
            pm.makePersistent(uu);             
     pm.close();
  }
    }
    }
}

但是,当没有记录的增长,它提供了超时的错误。

Csv文件可能有高达800记录。这是可以做到的,在应用程序的发动机?

(喜欢的东西批次更新)

有帮助吗?

解决方案

再限制应用程序的请求30秒,你不能运行长期任务。

最好的方法是分裂这个CSV成小块,并处理他们的个人,一个接一个。在这种情况时可以上载其仅仅作为一个很大的文件,可以储存其作为二进制数据,然后进程(分裂和分析)的使用 任务的队列 (注意,这也限于10分钟,每请求,但你总是可以做一个链的任务)。或者你可以用后端程序。

其他提示

你可以存储CSV文件在Blobstore(压缩)和使用 Map/reduce的工作 阅读和持续存在的每条线数据存储库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top