如何使用FluentFile在犀牛ETL DSL?
题
我已经与犀牛ETL库,真的很喜欢它的将方向打转转。但是我发现,关于它的坏的部分是文档是稀疏,似乎没有要在如何创建这些管道的过程,尤其是使用DSL不够好信息。
我只是试图创建一个DSL文件加载文件和数据导出到另一个文件,看看这一切如何能结合在一起。我到目前为止是这样的。
[DelimitedRecord("\t")]
class User:
public Name as string
public Phone as string
public Email as string
operation import_file:
file = Rhino.Etl.Core.Files.FluentFile(typeof(User)).From("""E:\Fake\Book1.txt""")
for row in file:
yield Row.FromObject(row)
operation export_file:
file = Rhino.Etl.Core.Files.FluentFile(typeof(User)).To("""E:\Fake\Test.txt""")
for row in rows:
record = User(Name: row["Name"])
file.Write(record)
process ImportFile:
import_file()
export_file()
,则抛出该异常
File.boo(1,2):BCE0064:Boo.Lang.Compiler.CompilerError:名为 'DelimitedRecord' 或 'DelimitedRecordAttribute' 没有属性被发现(属性名称不区分大小写)。你的意思是 'System.Diagnostics.DelimitedListTraceListener'?
如果我删除属性部分我得到这个错误
例外:无法创建管道的importfile:类用户必须标明[DelimitedRecord]或[FixedLengthRecord]属性。 例外:未能执行操作File.import_file:类用户必须与[DelimitedRecord]或[FixedLengthRecord]属性
被标记在这里的任何想法?还是有如何犀牛ETL?
一个DSL内使用FluentFile任何的例子解决方案
在 DelimitedRecordAttribute 一>是在 FileHelpers 组件,FileHelpers命名空间。
不隶属于 StackOverflow