예제 #1
0
    def requires(self):  # pragma: no cover
        for requirement in super(EnterpriseEnrollmentDataTask,
                                 self).requires():
            yield requirement

        # the process that generates the source table used by this query
        yield (
            ImportAuthUserTask(),
            ImportAuthUserProfileTask(),
            ImportEnterpriseCustomerTask(),
            ImportEnterpriseCustomerUserTask(),
            ImportEnterpriseCourseEnrollmentUserTask(),
            ImportDataSharingConsentTask(),
            ImportUserSocialAuthTask(),
            ImportStudentCourseEnrollmentTask(),
            ImportPersistentCourseGradeTask(),
            CoursePartitionTask(
                date=self.date,
                warehouse_path=self.warehouse_path,
                api_root_url=self.api_root_url,
                api_page_size=self.api_page_size,
            ),
            UserActivityTableTask(warehouse_path=self.warehouse_path,
                                  overwrite_n_days=0,
                                  date=self.date),
        )
 def requires(self):
     """
     This task reads from auth_user and user_activity_daily, so require that they be
     loaded into Hive (via MySQL loads into Hive or via the pipeline as needed).
     """
     return [ImportAuthUserTask(overwrite=False, destination=self.warehouse_path),
             UserActivityTableTask(interval=self.interval, warehouse_path=self.warehouse_path,
                                   n_reduce_tasks=self.n_reduce_tasks)]
예제 #3
0
 def requires(self):
     yield (ImportAuthUserTask(overwrite=False,
                               destination=self.warehouse_path),
            self.hive_table_task,
            UserActivityTableTask(
                warehouse_path=self.warehouse_path,
                date=self.date,
                overwrite_n_days=self.overwrite_n_days,
            ))
예제 #4
0
    def requires(self):  # pragma: no cover
        for requirement in super(EnterpriseUserDataTask, self).requires():
            yield requirement

        # the process that generates the source table used by this query
        yield (ImportAuthUserTask(), ImportAuthUserProfileTask(),
               ImportEnterpriseCustomerUserTask(), ImportUserSocialAuthTask(),
               UserActivityTableTask(warehouse_path=self.warehouse_path,
                                     overwrite_n_days=0,
                                     date=self.date))
예제 #5
0
    def requires(self):  # pragma: no cover
        for requirement in super(EnterpriseEnrollmentDataTask, self).requires():
            yield requirement

        # the process that generates the source table used by this query
        yield (
            ImportAuthUserTask(),
            ImportAuthUserProfileTask(),
            ImportEnterpriseCustomerTask(),
            ImportEnterpriseCustomerUserTask(),
            ImportEnterpriseCourseEnrollmentUserTask(),
            ImportDataSharingConsentTask(),
            ImportUserSocialAuthTask(),
            ImportStudentCourseEnrollmentTask(),
            ImportPersistentCourseGradeTask(),
            CoursePartitionTask(
                date=self.date,
                warehouse_path=self.warehouse_path,
                api_root_url=self.api_root_url,
                api_page_size=self.api_page_size,
            ),
            UserActivityTableTask(
                warehouse_path=self.warehouse_path,
                overwrite_n_days=0,
                date=self.date
            ),
            ExternalCourseEnrollmentSummaryPartitionTask(
                date=self.date
            ),
        )

        kwargs = {
            'credentials': self.otto_credentials,
            'database': self.otto_database,
        }
        yield (
            ImportProductCatalog(**kwargs),
            ImportCurrentOrderLineState(**kwargs),
            ImportCurrentOrderDiscountState(**kwargs),
            ImportVoucherTask(**kwargs),
            ImportStockRecordTask(**kwargs),
            ImportCurrentOrderState(**kwargs),
            ImportEcommerceUser(**kwargs),
            ImportConditionalOfferTask(**kwargs),
            ImportBenefitTask(**kwargs),
        )