Exemple #1
0
 def get_spec(self, project_name: str,
              model_name: str) -> typing.Optional[SensorDataSpec]:
     model = self.get_model_by_key(project_name=project_name,
                                   model_name=model_name)
     if not model:
         return None
     spec = SensorDataSpec(tag_list=model.tag_list)
     return spec
Exemple #2
0
 def get_spec(self, project_name: str,
              model_name: str) -> typing.Optional[SensorDataSpec]:
     model = self.get_machine_by_key(project_name=project_name,
                                     model_name=model_name)
     if not model:
         return None
     spec = SensorDataSpec(
         tag_list=_gordo_to_latigo_tag_list(model.tag_list))
     return spec
Exemple #3
0
    def load_series(
        self,
        train_start_date: datetime,
        train_end_date: datetime,
        tag_list: typing.List[SensorTag],
        dry_run: typing.Optional[bool] = False,
    ) -> typing.Iterable[pd.Series]:
        if dry_run:
            raise NotImplementedError(
                "Dry run for LatigoDataProvider is not implemented")
        if not tag_list:
            logger.warning(
                "LatigoDataProvider called with empty tag_list, returning none"
            )
            return
        if train_end_date < train_start_date:
            raise ValueError(
                f"LatigoDataProvider called with to_ts: {train_end_date} before from_ts: {train_start_date}"
            )
        if not self.sensor_data_provider:
            logger.warning("Skipping, no sensor_data_provider")
            return
        spec: SensorDataSpec = SensorDataSpec(
            tag_list=_gordo_to_latigo_tag_list(tag_list))
        time_range = TimeRange(from_time=train_start_date,
                               to_time=train_end_date)
        sensor_data, err = self.sensor_data_provider.get_data_for_range(
            spec, time_range)
        if err:
            logger.error(f"Could not load sensor data: {err}")
            return
        if not sensor_data:
            logger.error(f"No sensor data")
            return
        if not sensor_data.ok():
            logger.error(f"Sensor data not OK")
            return
        if not sensor_data.data:
            logger.error(f"No data.data")
            return

        if not sensor_data.data:
            logger.error(f"No gordo data")
            return

        for d in sensor_data.data:
            yield d
        return
Exemple #4
0
 def load_series(
         self,
         from_ts: datetime,
         to_ts: datetime,
         tag_list: typing.List[SensorTag],
         dry_run: typing.Optional[bool] = False
 ) -> typing.Iterable[pd.Series]:
     if self.sensor_data_provider:
         if isinstance(self.sensor_data_provider, str):
             raise Exception(f"IS STR: '{self.sensor_data_provider}'")
         spec: SensorDataSpec = SensorDataSpec(
             tag_list=_gordo_to_latigo_tag_list(tag_list))
         time_range = TimeRange(from_ts, to_ts)
         sensor_data, err = self.sensor_data_provider.get_data_for_range(
             spec, time_range)
         if sensor_data and sensor_data.ok():
             logger.info(f"Providing data: ")
             logger.info(pprint.pformat(sensor_data.data))
             for item in sensor_data.data:
                 yield item
         else:
             logger.warning(f"Could not load series: {err}")
                        not_found)
        },
    }
    # fmt: on


name: str = "latigo_integration_test"
from_time = datetime_from_rfc3339("2019-01-02T00:00:00Z")
to_time = datetime_from_rfc3339("2019-11-02T00:00:00Z")
time_range = TimeRange(from_time=from_time, to_time=to_time)

tag_list = [
    LatigoSensorTag(name="tag_name_1", asset="tag_asset_1"),
    LatigoSensorTag(name="tag_name_2", asset="tag_asset_2")
]
spec: SensorDataSpec = SensorDataSpec(tag_list=tag_list)

# actual_tag_list = [LatigoSensorTag(name="GRA-STAT-20-1310_G01.ST", asset="1755-gra")]
# actual_tag_list = [LatigoSensorTag(name="GRA-FOI -13-0979.PV", asset="GRA")]
actual_tag_list = [
    LatigoSensorTag(name="PT-13005/MeasA/PRIM", asset="1101-sfb")
]
# ioc-preprod.ginkgrog-b17

#'PT-13005/MeasA/PRIM', asset='1101-sfb'), SensorTag(name='TT-13092/Meas1/PRIM', asset='1101-sfb'), Sen..., SensorTag(name='DQ-TT-T-B30L/Meas1/PRIM', asset='1101-sfb'), SensorTag(name='PT-13009/MeasA/PRIM', asset='1101-sfb')

actual_spec: SensorDataSpec = SensorDataSpec(tag_list=actual_tag_list)
# , ("GRA-HIC -13-0035.PV", "1755-gra")]

data: typing.Iterable[typing.Tuple[str, pd.DataFrame, typing.List[str]]] = []
Exemple #6
0
 def get_spec(self) -> typing.Optional[SensorDataSpec]:
     return SensorDataSpec(tag_list=self.tag_list)