我有一个我在U-SQL中使用的Web日志文件,其查询类似于:
Android Tablet 10" blah blah
有时候,UserAgent包含以下内容: -
<input
type="text"
class="form-control"
name="title"
id="title"
placeholder="Title"
value="{{ old('title', $content->title) }}" />
总是意味着脚本认为该行有四列而不是三列。
任何人都有任何明智的想法,我怎么能处理这个...我不确定是否有可能逃脱那个炭或在提取时以某种方式忽略它?
答案 0 :(得分:3)
您必须使用未出现在文本中的分隔符,或者确保分隔符已转义,或者您使用引号。
如果这些都不起作用,您可以将整行放到一行然后处理该行,或编写一个自定义提取器,将多余的数据移动到溢出列中。
答案 1 :(得分:0)
按https://msdn.microsoft.com/en-us/library/azure/mt764098.aspx,我会尝试
@x =
EXTRACT Col1 string, UserAgent string, Col2 string
FROM "/file"
USING Extractors.Text(delimiter : ' ', quoting:false);
答案 2 :(得分:0)
使用数据工厂准备数据副本并插入转义字符(简单的Jason设置)。这将轻松地将转义字符解析为您的数据。然后,您可以使用escapeCharacter参数。选择你所选择的并不重要,因为逃脱角色会逃脱,但选择一些模糊的东西会更好。
您必须以某种方式预先解析数据,以插入转义字符或使用&#34;来转义引号。我个人更喜欢转义字符,而且数据工厂很容易。