私はRhinoETLライブラリで遊んでいて、その方向性が本当に気に入っています。ただし、ドキュメントがまばらであり、これらのパイプラインプロセスを作成する方法、特に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:クラスUserは、[DelimitedRecord]または[FixedLengthRecord]属性でマークされている必要があります。例外:操作File.import_fileの実行に失敗しました:クラスUserは、[DelimitedRecord]または[FixedLengthRecord]属性でマークされている必要があります。
ここに何かアイデアはありますか?または、Rhino ETLのDSL内でFluentFileを使用する方法の例はありますか?