我正在尝试使用U-SQL读取文件的完整父目录,无论它在源目录结构中有多深
@searchLog =
EXTRACT FileName string,
, Path string
, UserId int
, Start DateTime
, Region string
, Query string
, Duration int
, Urls string
, ClickedUrls string
FROM "wasb://[blobcontainter]@[blobaccount]/samples/{Path}/{FileName}.csv"
USING Extractors.Csv();
我想要实现的是遍历blob容器中的文件夹并将路径保存到文件中以及内部数据。假设我有这样的文件结构:
"/samples/foo/log1.csv"
"/samples/foo/bar/log1.csv"
"/samples/foo/bar/baz/log3.csv"
我想获得{Path}
的价值 "foo"
"foo/bar"
"foo/bar/baz"
目前我只能读取一个级别的文件夹,其方式是使用以下结果集作为Path返回:
FROM "wasb://[blobcontainter]@[blobaccount]/samples/{Path}/{FileName}.csv"
放一张通配符
FROM "wasb://[blobcontainter]@[blobaccount]/samples/{*}/{FileName}.csv"
读取顶级和第一个子级别文件夹的结果,但它不会比这更深,另外它不会返回结果集中的路径。
除此之外,文件列表中不支持Streamsets,所以
FROM "wasb://[blobcontainter]@[blobaccount]/samples/{Topfolder}/{FileName}.csv"
FROM "wasb://[blobcontainter]@[blobaccount]/samples/{Topfolder}/{Subfolder1}/{FileName}.csv"
也不是一种选择。