def isJoinableWith(self, referenceTable, keyMap, *keyMaps): """ Checks whether a join between this table and the given reference table returns any results. This can be seen as a weaker version of the foreign key check, as it requires only partial matches. Args: referenceTable (pyspark.sql.dataframe.DataFrame): Table to which the foreign key is pointing keyMap (Tuple[str, str]): Column mapping from this table to the reference one ("column1", "base_column1") keyMaps (Tuple[str, str]): Column mappings from this table to the reference one ("column1", "base_column1") Returns: core.Check object including this constraint """ jvmCheck = self.jvmCheck.isJoinableWith( referenceTable._jdf, jc.tuple2(self._jvm, keyMap), jc.iterable_to_scala_list( self._jvm, map(lambda t: jc.tuple2(self._jvm, t), keyMaps) ) ) return Check( self.dataFrame, self.name, self.cacheMethod, self.id, jvmCheck )
def hasForeignKey(self, referenceTable, keyMap, *keyMaps): """ Checks whether the columns with the given names define a foreign key to the specified reference table. Args: referenceTable (pyspark.sql.dataframe.DataFrame): Table to which the foreign key is pointing keyMap (Tuple[str, str]): Column mapping from this table to the reference one ("column1", "base_column1") keyMaps (Tuple[str, str]): Column mappings from this table to the reference one ("column1", "base_column1") Returns: core.Check object including this constraint """ jvmCheck = self.jvmCheck.hasForeignKey( referenceTable._jdf, jc.tuple2(self._jvm, keyMap), jc.iterable_to_scala_list( self._jvm, map(lambda t: jc.tuple2(self._jvm, t), keyMaps) ) ) return Check( self.dataFrame, self.name, self.cacheMethod, self.id, jvmCheck )
def get_jvm_reporter(self, jvm): if not self._jvm_reporter: self._jvm = jvm jvm_email_reporter = jvm.de.frosner.ddq.reporters.EmailReporter to = jc.iterable_to_scala_set(jvm, self.to) if self.cc is None: cc = getattr(jvm_email_reporter, "apply$default$3")() else: cc = jc.iterable_to_scala_set(jvm, self.cc) if self.subjectPrefix is None: subjectPrefix = getattr(jvm_email_reporter, "apply$default$4")() else: subjectPrefix = self.subjectPrefix if self.smtpPort is None: smtpPort = getattr(jvm_email_reporter, "apply$default$5")() else: smtpPort = self.smtpPort if self.from_ is None: from_ = getattr(jvm_email_reporter, "apply$default$6")() else: from_ = self.from_ if self.usernameAndPassword is None: usernameAndPassword = getattr(jvm_email_reporter, "apply$default$7")() else: usernameAndPassword = jc.option( jvm, (jc.tuple2(jvm, self.usernameAndPassword))) if self.reportOnlyOnFailure is None: reportOnlyOnFailure = getattr(jvm_email_reporter, "apply$default$8")() else: reportOnlyOnFailure = self.reportOnlyOnFailure if self.accumulatedReport is None: accumulatedReport = getattr(jvm_email_reporter, "apply$default$9")() else: accumulatedReport = self.accumulatedReport self._jvm_reporter = jvm_email_reporter(self.smtpServer, to, cc, subjectPrefix, smtpPort, from_, usernameAndPassword, reportOnlyOnFailure, accumulatedReport) return self._jvm_reporter
def get_jvm_reporter(self, jvm): if not self._jvm_reporter: self._jvm = jvm jvm_email_reporter = jvm.de.frosner.ddq.reporters.EmailReporter to = jc.iterable_to_scala_set(jvm, self.to) if self.cc is None: cc = getattr(jvm_email_reporter, "apply$default$3")() else: cc = jc.iterable_to_scala_set(jvm, self.cc) if self.subjectPrefix is None: subjectPrefix = getattr(jvm_email_reporter, "apply$default$4")() else: subjectPrefix = self.subjectPrefix if self.smtpPort is None: smtpPort = getattr(jvm_email_reporter, "apply$default$5")() else: smtpPort = self.smtpPort if self.from_ is None: from_ = getattr(jvm_email_reporter, "apply$default$6")() else: from_ = self.from_ if self.usernameAndPassword is None: usernameAndPassword = getattr(jvm_email_reporter, "apply$default$7")() else: usernameAndPassword = jc.option(jvm, (jc.tuple2(jvm, self.usernameAndPassword))) if self.reportOnlyOnFailure is None: reportOnlyOnFailure = getattr(jvm_email_reporter, "apply$default$8")() else: reportOnlyOnFailure = self.reportOnlyOnFailure if self.accumulatedReport is None: accumulatedReport = getattr(jvm_email_reporter, "apply$default$9")() else: accumulatedReport = self.accumulatedReport self._jvm_reporter = jvm_email_reporter( self.smtpServer, to, cc, subjectPrefix, smtpPort, from_, usernameAndPassword, reportOnlyOnFailure, accumulatedReport ) return self._jvm_reporter