#csv #ingredient #rettle #etl #fill #pour #file

cstea

用于在rettle中处理csv文件的成分库

4个稳定版本

2.0.1 2020年1月11日
2.0.0 2020年1月10日
1.0.1 2019年8月6日
1.0.0 2019年8月5日

#1317编码

MIT/Apache

14KB
194

cstea

LICENSE License Build Status Crates.io Version Minimum rustc version

这是一个通用的csv文件填充和倒出成分库,用于与rettle ETL一起使用。

数据结构

  • FillCsvArg: FillCsTea的成分参数
  • FillCsTea: 用于在rettle Pot中创建Fill成分的包装器,以简化创建过程。
  • PourCsvArg: PourCsTea的成分参数
  • PourCsTea: 用于在rettle Pot中创建Pour成分的包装器,以简化创建过程。

示例

#[derive(Default, Clone, Debug, Deserialize, Serialize)]
struct CsTea {
    id: i32,
    name: String,
    value: i32
}

impl Tea for CsTea {
    fn as_any(&self) -> &dyn Any {
        self
    }
}

fn main() {
    let test_csvarg = FillCsvArg::new("fixtures/test.csv", 50);
    let test_pour_csvarg = PourCsvArg::new("fixtures/pour.csv");

    let brewery = Brewery::new(4, Instant::now());
    let mut new_pot = Pot::new();
    let fill_cstea = FillCsTea::new::<CsTea>("csv_tea_source", "csv_fixture", test_csvarg);
    let pour_cstea = PourCsTea::new::<CsTea>("csv_pour_test", test_pour_csvarg);

    new_pot = new_pot.add_source(fill_cstea);

    // Steep operations of choice

    new_pot = new_pot.add_ingredient(pour_cstea);

    new_pot.brew(&brewery);
}

依赖项

~1.8–2.7MB
~44K SLoC