我有这个查询:
(?<- (hfs-textline data-out :sinkmode :replace)
        [?item1 ?item2]
        ((hfs-textline data-in) ?line)
        (data-line? ?line)
        (filter-out-data (#(vector (s/split % #",")) ?line) :> ?item1 ?item2)
        )
(defn data-line? [^String row]
  (and (not= -1 (.indexOf row ","))
       (not (.endsWith row ","))
       (not (.startsWith row ","))))
(defn filter-out-data [data]
  (<- [?item1 ?item2]
      (data :#> 9 {4 ?item1
                  8 ?item2})))
查询逐行读取 CSV 文件并检查满足有效数据条件 ( data-line?) 的行 - 这部分有效。然后它应该用逗号分隔行,并将向量传递给filter-out-data函数,函数又返回从该向量中提取的两个项目。当我执行查询时,我收到以下错误:无法解析符号:?line在此上下文中。
我一直在尝试传递拆分结果的不同方法(我希望它灵活,因为拆分的大小会有所不同)。我刚从 Clojure 和 Cascalog 开始,如果你能指出我正确的方向,我将不胜感激。谢谢!