Comment puis-je utiliser FluentFile dans Rhino DSL ETL?
Question
Je joue autour avec la bibliothèque Rhino et ETL vraiment la direction que ça va. Cependant, je l'ai constaté que la mauvaise partie à ce sujet est la documentation est rare et il ne semble pas être assez bonnes informations sur la façon de créer ces processus de pipeline et en particulier en utilisant le DSL.
Je suis juste essayer de créer un fichier DSL pour charger un fichier et exporter les données dans un autre fichier pour voir comment tout cela pourrait tenir ensemble. Ce que j'est jusqu'à présent cela.
[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()
Il lance cette exception
File.boo (1,2): BCE0064: Boo.Lang.Compiler.CompilerError: Aucun attribut avec le nom 'DelimitedRecord' ou 'DelimitedRecordAttribute' a été trouvé (noms d'attributs sont insensibles à la casse). Vouliez-vous dire 'System.Diagnostics.DelimitedListTraceListener'?
Si je retire la partie d'attribut je reçois cette erreur
Exception: Impossible de créer pipeline ImportFile: L'utilisateur de classe doit être marquée du [DelimitedRecord] ou [FixedLengthRecord] Attributs. Exception: Échec de l'exécution opération File.import_file: L'utilisateur de classe doit être marquée du [DelimitedRecord] ou [FixedLengthRecord] Attributs
.Toutes les idées ici? Ou sont-il des exemples de la façon d'utiliser le FluentFile dans un DSL pour Rhino ETL?
La solution
Le DelimitedRecordAttribute est dans la FileHelpers ensemble, espace de noms FileHelpers.