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;
}
相关推荐
java_logo2 天前
Apache IoTDB Docker 容器化部署指南:从入门到生产环境实践
docker·容器·apache·iotdb·iotdb部署教程·iotdb部署文档·docker部署iotdb
一个天蝎座 白勺 程序猿2 天前
Apache IoTDB(11):分段聚合深度解析——从原理到实战的完整指南
数据库·apache·iotdb
❀͜͡傀儡师4 天前
docker 部署 Apache IoTDB
docker·apache·iotdb
好大哥呀5 天前
IoTDB详解
iotdb
可涵不会debug5 天前
时序数据库选型指南:Apache IoTDB,大数据时代的时序数据管理利器
apache·时序数据库·iotdb
羑悻的小杀马特5 天前
破局IoT与大数据协同难题!Apache IoTDB用硬核性能打底、强生态护航,成行业新宠!
大数据·物联网·ai·apache·iotdb
Pocker_Spades_A5 天前
时序数据库选型指南:用工程视角理解 Apache IoTDB
数据库·apache·时序数据库·iotdb
聊询QQ:688238867 天前
基于PLC-1200的带转向十字路口交通灯系统开发之旅
iotdb
云边有个稻草人9 天前
时序数据库选型指南:聚焦IoTDB,适配大数据时代时序数据存储与分析
时序数据库·iotdb
正在走向自律9 天前
时序数据库选型指南,从大数据视角看新一代列式存储引擎的核心优势
大数据·时序数据库·iotdb·国产数据库