2017-10-06 173 views
0

我在Data Lake Store中有一堆HTML文件,并希望将它们的完整源代码放到一个表中(只有一列来自所有文件的代码,输出格式与我无关,但可能是tsv)。我无法找到一种方法来使用标准提取器或网络上适用于我的任何东西。我必须为此编写一个自定义提取器吗?U-SQL提取文件完整内容(从html文件中提取完整源代码)

我试过Extractors.Tsv()和Extractors.Text()与一大堆的分隔符。我第一次尝试:

@data = 
EXTRACT source string 
FROM "<MY DIRECTORY IN ADL>" 
USING Extractors.Text(delimiter:''); 

这没有工作了,因为它似乎不喜欢有没有分隔符,而且当我试图使用不是在HTML文件分隔符它没有工作了。

有没有人有想法如何做到这一点?在我看来,我只是愚蠢的,所以我希望这里的某个人更聪明一些。

甚至比只有源代码更好,如果我有源代码+文件名在两列,但我想从小开始。

谢谢!

+0

这仍然是一个问题吗?看到我对大卫答案的评论。 –

回答

0

@files =

EXTRACT FileName string, 
     Text string 
FROM @"/somepath/{FileName}.html" 
USING Extractors.Text(silent: true, delimiter: '`'); 

OUTPUT @files TO "/somepath/Test.txt" USING Outputters.Tsv(outputHeader: false, quoting: false);

+0

感谢您的回复!我试过但仍然得到一个错误(这与我之前得到的错误是一样的): 在处理722条记录在顶点'输入分割之后提取行时发生错误。列索引:0,列名称:'文本'。 顶点失败,出现故障快速错误 你有没有想过为什么会发生这种情况? –

+0

对不起,延迟回复。你可能有一些格式错误(因为太大,太多列等而无法解析的值)。通常情况下,内部错误信息应显示,但在10月时间范围内,未显示内部错误。我希望你能弄清楚是什么导致了错误。 –