小编Nec*_*des的帖子

Flutter ListView 显示错误的项目

ListView 显示了 Item1、Item2 和 Item3。当我尝试删除 Item2 时,ListView 错误地显示了 Item1 和 Item2。控制台显示列表中的正确项目:Item1 和 Item3。

主屏幕:

    class HomeScreen extends StatefulWidget {
  @override
  HomeScreenState createState() => new HomeScreenState();
}

class HomeScreenState extends State<HomeScreen> {
  List<Todo> todos = new List();

  @override
  void initState() {
    super.initState();
    populateTodos();
  }

  void populateTodos() async {
    TodoDatabase db = new TodoDatabase();
    db.getAllTodos().then((newTodos) {
      for (var todo in newTodos) {
        print(todo.title + ", " + todo.id);
      }
      setState(() => todos = newTodos);
    });
  }

  void openAddTodoScreen() async {
    Navigator
        .push(context, …
Run Code Online (Sandbox Code Playgroud)

dart flutter

4
推荐指数
1
解决办法
1183
查看次数

NIFI将大型CSV插入SQL数据库

我正在尝试将大量的CSV大文件插入数据库。我正在使用PutDataBaseRecord处理器来执行此操作,这使此过程非常快速和容易。

问题是我不知道如何正确处理故障,例如,如果值与列的数据类型不匹配或行是否重复。如果发生这种情况,PutDataBaseRecord处理器将丢弃刚从CSV文件转换的该批次的所有记录。因此,如果一条2.000.000记录失败,则2.000.000记录都不会进入数据库。

我通过预先清理CSV数据设法解决了一个问题源,但仍然遇到重复行的问题。

我试图通过将CSV拆分为NIFI中的单行,然后再将其传递到PutDatabaseRecord处理器中来解决此问题,这确实非常慢,并且经常会导致OOM错误。

有人可以建议在SQL数据库中插入大CSV的另一种方法吗?

csv apache-nifi

1
推荐指数
1
解决办法
1264
查看次数

标签 统计

apache-nifi ×1

csv ×1

dart ×1

flutter ×1