错误:文件中的空间不足

时间:2018-06-07 13:19:16

标签: join sas left-join space proc-sql

我正在尝试创建一个混合表,结合两个海量数据集中的一些字段。我在SAS EG 7.2中运行它。

我最初尝试加入这两个表,但我收到以下消息:

//get which rows are empty
std::vector<bool> has_value(Nbins,false);
for (auto tr : tripletList) has_value[tr.row()] = true; 

//create map from old to new indices
std::map<unsigned,unsigned> row_map;
unsigned new_idx=0;
for (unsigned old_idx=0; old_idx<Nbins; old_idx++) 
   if(has_value[old_idx])
      row_map[old_idx]=new_idx++;

//make new triplet list, dropping empty rows
std::vector<Eigen::Triplet<double> > newTripletList;
newTripletList.reserve(Ndata);
for (auto tr : tripletList) 
   newTripletList.push_back(
      Eigen::Triplet<double>(row_map[tr.row()],tr.col(),tr.value()));

//form new matrix and return
Eigen::SparseMatrix<double, Eigen::RowMajor> ret(new_idx,Ndata);
ret.setFromTriplets(newTripletList.begin(), newTripletList.end());

我正在进行的连接包含的列数少于单独查看的两个表。我执行程序时遇到同样的错误。

在代码中,我首先将表(a)连接到包含两个表的键(b)的表。

代码如下所示:

    ERROR: Insufficient space in file JVTEST.GT_IFRS_JOIN1_MAY.DATA.
    ERROR: File JVTEST.GT_IFRS_JOIN1_MAY.DATA is damaged. I/O processing did not complete.

您对此为何发生了什么想法?如上所述,新的混合表理论上比单独看到的两个表中的任何一个都要小得多。另外,你知道如何规避错误吗?

谢谢!

0 个答案:

没有答案