From e28d79e5661d254f3295c56869a2e21dac3fb9ec Mon Sep 17 00:00:00 2001 From: josephthaliath Date: Fri, 7 Oct 2022 14:31:14 +0530 Subject: [PATCH] Adding Base class files for source, transform and sink functions of data-extraction module Issue-Id: AIMLFW-3 Signed-off-by: josephthaliath Change-Id: I67b1dd48439b715ac0a09c2bb769848688de6089 --- src/sink/Base.py | 43 +++++++++++++++++++++++++++++++++++++++++++ src/source/Base.py | 41 +++++++++++++++++++++++++++++++++++++++++ src/transform/Base.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 src/sink/Base.py create mode 100644 src/source/Base.py create mode 100644 src/transform/Base.py diff --git a/src/sink/Base.py b/src/sink/Base.py new file mode 100644 index 0000000..bb627e7 --- /dev/null +++ b/src/sink/Base.py @@ -0,0 +1,43 @@ +# ================================================================================== +# +# Copyright (c) 2022 Samsung Electronics Co., Ltd. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ================================================================================== + +""" +@Module Base +""" +from abc import abstractmethod +class Sink(): + """ + @Class Sink Base Class + """ + def __init__(self): + """ + @Method": No Args Constructor + """ + self.ClassType="Custom" + @abstractmethod + def init(self, sparkhelper, confighelper, inputdict): + """ + @Methond: astract + """ + @abstractmethod + def write(self, sparksession, sparkdf): + """ + @Method: write + @inputs: sparksession, sparkdf + """ + diff --git a/src/source/Base.py b/src/source/Base.py new file mode 100644 index 0000000..5249c3b --- /dev/null +++ b/src/source/Base.py @@ -0,0 +1,41 @@ +# ================================================================================== +# +# Copyright (c) 2022 Samsung Electronics Co., Ltd. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ================================================================================== + +""" +@Module:BaseClass +""" +from abc import abstractmethod +class Source(): + """ + @Class: Base Class + """ + def __init__(self): + """ + @Constructor No Args + """ + self.ClassType="Custom" + @abstractmethod + def init(self,sparkhelper,confighelper,inputdict): + """ + @Method: Abstract init + """ + @abstractmethod + def load(self,sparksession): + """ + @Method:Abstract load + """ diff --git a/src/transform/Base.py b/src/transform/Base.py new file mode 100644 index 0000000..2243dfc --- /dev/null +++ b/src/transform/Base.py @@ -0,0 +1,44 @@ +# ================================================================================== +# +# Copyright (c) 2022 Samsung Electronics Co., Ltd. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ================================================================================== + +""" +@Module : Base +""" +from abc import abstractmethod + +class Transform(): + """ + @Class: Transform class + """ + def __init__(self): + """ + @Method: No Args Constructor + """ + self.ClassType="Custom" + @abstractmethod + def init(self, sparkhelper, confighelper, inputdict): + """ + @Methond: init + """ + @abstractmethod + def transform(self,sparksession, sparkdf): + """ + @Methond: transform + @Inpuuts: spark + """ + -- 2.16.6