hive 如何将列表存储< Object>到配置单元数据库

w8ntj3qf  于 2022-11-05  发布在  Hive
关注(0)|答案(1)|浏览(180)

我有一个关于Hive db问题。是否可以存储List数据类型?Hive的文档是这样说的:由于飞镖的限制,不支持像Box这样的通用类型参数。但我需要存储聊天室ID和消息。
让我们想象一下

也就是说,我需要将两种不同的数据类型存储到hive对象中,List(用于消息)和int(用于id)。2这可能吗?3如果您有其他想法,请与我分享
谢谢

niknxzdl

niknxzdl1#

我已经解决🙂了这个逻辑对我有用

final data = ChatStorage(
  roomId: widget.room!.id,
  chat: state.messages,
);

if (chatBox.isEmpty)
      chatBox.put(widget.room!.id, data);
    else {
      List<int>? roomIds = [];
      bool available = false;
      for (var chat in chatBox.values) {
        roomIds.add(chat.roomId!);
      }
      if (!roomIds.contains(widget.room!.id)) available = true;

      if (available) chatBox.put(widget.room!.id, data);
   }
}

我认为如果有人面临这样的问题,这种方法会有所帮助🙂

相关问题