Marklogic内容泵(MLCP)以静默方式忽略以下划线开头的文件

Marklogic内容泵(MLCP)以静默方式忽略以下划线开头的文件,marklogic,mlcp,Marklogic,Mlcp,我正在尝试导入一个文档集合,其中一些文件以下划线开头。Marklogic mlcp 8.0.4似乎在默默地跳过这些文件,尽管Marklogic本身似乎对这样的文件名没有问题 这是我正在使用的mlcp命令: mlcp-8.0-4/bin/mlcp.sh导入-主机本地主机-端口8012-用户名 xxxxx-密码xxxx-模式本地-输入文件路径 /用户/test/Downloads/tempfolder33/-output\u uri\u replace ^.*临时文件夹33,' mlcp始终忽略“/

我正在尝试导入一个文档集合,其中一些文件以下划线开头。Marklogic mlcp 8.0.4似乎在默默地跳过这些文件,尽管Marklogic本身似乎对这样的文件名没有问题

这是我正在使用的mlcp命令:

mlcp-8.0-4/bin/mlcp.sh导入-主机本地主机-端口8012-用户名 xxxxx-密码xxxx-模式本地-输入文件路径 /用户/test/Downloads/tempfolder33/-output\u uri\u replace ^.*临时文件夹33,'

mlcp始终忽略“/Users/test/Downloads/tempfolder33/schemas/bwb/_manifest.xml”等文件名


关于如何解决这个问题有什么想法吗?

MarkLogic使用hadoop mapreduce客户端核心库(org.apache.hadoop),它定义了抽象FileInputFormat类。此类使用始终处于活动状态的私有静态最终PathFilter hiddenFileFilter。 此筛选器将以“u”和“.”开头的文件定义为隐藏文件,无论您自己定义的筛选器如何,这些文件都将自动跳过

private static final PathFilter hiddenFileFilter = new PathFilter() {
    public boolean accept(Path p) {
        String name = p.getName();
        return !name.startsWith("_") && !name.startsWith(".");
    }
};
如果您精通Java,可以从这里下载mlcp源代码的副本,并尝试覆盖FileAndDirectoryInputFormat类中FileInputFormat类的protected listStatus方法,以不包括hadoop mapreduce客户端核心库中FileInputFormat类的hiddenFileFilter

希望这有帮助


Peter对Java不是很精通:-(也许Marklogic可以向MLCP添加一个参数来关闭此行为,特别是因为ML本身没有限制。但无论如何,谢谢你,现在我明白了原因。@M_breeb还没有尝试,但也许压缩数据并从zip导入数据提供了一个旁路?这似乎是可行的,创造性思维!(但仍然很麻烦…)