IotDB批量数据脱敏DEMO

保密数据要做其他项目测试,在真实数据上,模拟二批数据。

Main

java 复制代码
public class CreateData {


    public static void main(String[] args) throws Exception{
        DataBean dataBean1 = new DataBean("root.sup.X",1745418062000L,1745421716000L,1);
        DataBean dataBean2 = new DataBean("root.sup.XX",1745421716000L,1745427788000L,1);
        DataBean dataBean3 = new DataBean("root.sup.XXX",1745445744000L,1745447163000L,1);
        DataBean dataBean4 = new DataBean("root.sup.AAA",1745447163000L,1745448978000L,1);
        DataBean dataBean5 = new DataBean("root.sup.A",1745448978000L,1745448995000L,1);
        DataBean dataBean6 = new DataBean("root.sup.AA",1745508341000L,1745508743000L,1);
        DataBean dataBean7 = new DataBean("root.sup.CCC",1745508341000L,1745508743000L,1);



        DataBean dataBean11 = new DataBean("root.sup.DDD",1745152727000L,1745156692000L,0);
        DataBean dataBean12 = new DataBean("root.sup.EEE",1745156692000L,1745191639000L,0);
        DataBean dataBean13 = new DataBean("root.sup.FFF",1745215381000L,1745216471000L,0);
        DataBean dataBean14 = new DataBean("root.sup.HHH",1745216471000L,1745218287000L,0);
        DataBean dataBean15 = new DataBean("root.sup.KKK",1745218287000L,1745218303000L,0);
        DataBean dataBean16 = new DataBean("root.sup.LLL",1745276411000L,1745278204000L,0);
        DataBean dataBean17 = new DataBean("root.sup.MMM",1745276411000L,1745278204000L,0);


        List<DataBean> list = new ArrayList<>(14);
        list.add(dataBean1);
        list.add(dataBean2);
        list.add(dataBean3);
        list.add(dataBean4);
        list.add(dataBean5);
        list.add(dataBean6);
        list.add(dataBean7);

        list.add(dataBean11);
        list.add(dataBean12);
        list.add(dataBean13);
        list.add(dataBean14);
        list.add(dataBean15);
        list.add(dataBean16);
        list.add(dataBean17);



        Session session = new Session("192.168.0.204",6667,"root","root");
        session.open();

        Session session2 = new Session("127.0.0.1",6667,"root","root");
        session2.open();

        for (DataBean bean : list) {
            SessionDataSet dataSet = session.executeQueryStatement("select s0 from "+ bean.getIotCode() +" where time > "+bean.getStart()+" and time < "+bean.getEnd());
            dataSet.setFetchSize(102400);


            List<String> devices = new ArrayList<>();
            List<Long> timestamps = new ArrayList<>();
            List<List<String>> measurements = new ArrayList<>();
            List<List<TSDataType>> dataTypes = new ArrayList<>();
            List<List<Object>> values = new ArrayList<>();

            while (dataSet.hasNext()){
                RowRecord record = dataSet.next();


                devices.add(bean.getIotCode());
                timestamps.add(record.getTimestamp());
                measurements.add(Collections.singletonList("s0"));
                dataTypes.add(Collections.singletonList(TSDataType.FLOAT));


                BigDecimal value = new BigDecimal(record.getFields().get(0).getStringValue());
                if (bean.getFactor() == 1) {
                    value = value.multiply(new BigDecimal(RandomUtil.randomDouble(0.9F,0.95F)))
                            .setScale(6, RoundingMode.DOWN);
                }else {
                    value = value.multiply(new BigDecimal(RandomUtil.randomDouble(0.4F,0.9F)))
                            .setScale(6, RoundingMode.DOWN);
                }
                values.add(Collections.singletonList(value.floatValue()));
            }

            session2.insertRecords(devices,timestamps,measurements,dataTypes,values);

        }


    }

}

bean

java 复制代码
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataBean {
    private String iotCode;
    private long start;
    private long end;
    /**
     * 1 true 0 false
     */
    private int factor;
}
相关推荐
鲲志说13 小时前
数据洪流时代,如何挑选一款面向未来的时序数据库?IoTDB 的答案
大数据·数据库·apache·时序数据库·iotdb
时序数据说3 天前
时序数据库 IoTDB:支撑万亿级物联网设备的基石
大数据·数据库·物联网·时序数据库·iotdb
颜颜yan_3 天前
时序数据库选型指南:Apache IoTDB引领数字化转型新时代
apache·时序数据库·iotdb
一个天蝎座 白勺 程序猿3 天前
Apache IoTDB(6):深入解析数据库管理操作——增删改查与异构数据库实战指南
数据库·apache·时序数据库·数据库管理·iotdb
是Dream呀11 天前
时序数据库选型指南:Apache IoTDB企业级解决方案深度解析
apache·时序数据库·iotdb
一个天蝎座 白勺 程序猿11 天前
Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践
数据库·apache·时序数据库·iotdb·ainode
Apache IoTDB13 天前
Apache IoTDB V1.3.5 发布|优化加密算法,优化内核稳定性,修复社区反馈问题
apache·iotdb
时序数据说15 天前
物联网时序数据库IoTDB是什么?
大数据·数据库·物联网·时序数据库·iotdb
时序数据说16 天前
物联网时序数据管理的利器:为何IoTDB备受青睐?
大数据·数据库·物联网·时序数据库·iotdb
正在走向自律17 天前
国产时序数据库选型指南-从大数据视角看透的价值
大数据·数据库·清华大学·时序数据库·iotdb·国产数据库