我有一个我想用cascalog处理的Json文件目录。我现在的解决方案要求我使用bash脚本从我的json文件中删除所有换行符。我正在寻找一个更好的解决方案,因为我使用rsync同步这些文件。
我的问题是我可以在Cascalog中读取文件的内容并将文件的内容作为一个元组返回。目前功能< lfs-textline'为文件中的每一行返回一系列元组,因此我必须删除换行符。最好我想为每个文件返回一系列元组。
(defn textline-parsed [dir]
(let [source (lfs-textline dir)]
(<- [?line]
(source ?line))))
答案 0 :(得分:1)
使用cascalog.more-taps中的hfs-wholefile来执行此操作。
(:require [cascalog.more-taps :as taps])
(defn- byte-writable-to-str [bw]
"convert byte writable to stirng"
[(apply str (map char (. bw (getBytes))))])
然后,使用
(??<- [?str]
((taps/hfs-wholefile path) ?filename ?file-content)
(byte-writable-to-str ?file-content :> ?str)