'''join_streamlet_topology.py: module is an example of how to use the join operator'''

import sys

from heronpy.streamlet.builder import Builder
from heronpy.streamlet.runner import Runner
from heronpy.streamlet.config import Config
from heronpy.streamlet.windowconfig import WindowConfig
from heronpy.connectors.mock.arraylooper import ArrayLooper

# pylint: disable=superfluous-parens
if __name__ == '__main__':
    if len(sys.argv) != 2:
        print("Topology's name is not specified")
        sys.exit(1)

    builder = Builder()

    source_1 = builder.new_source(
        ArrayLooper([["key1", "a"], ["key1", "b"]], sleep=1))

    source_2 = builder.new_source(
        ArrayLooper([["key1", "c"], ["key1", "d"]], sleep=1))

    source_1.join(source_2, WindowConfig.create_sliding_window(2, 1),
                  lambda x, y: x + y).log()

    runner = Runner()
    config = Config()
    runner.run(sys.argv[1], config, builder)
示例#2
0
#  specific language governing permissions and limitations
#  under the License.

'''join_streamlet_topology.py: module is an example of how to use the join operator'''

import sys

from heronpy.streamlet.builder import Builder
from heronpy.streamlet.runner import Runner
from heronpy.streamlet.config import Config
from heronpy.streamlet.windowconfig import WindowConfig
from heronpy.connectors.mock.arraylooper import ArrayLooper

# pylint: disable=superfluous-parens
if __name__ == '__main__':
  if len(sys.argv) != 2:
    print("Topology's name is not specified")
    sys.exit(1)

  builder = Builder()

  source_1 = builder.new_source(ArrayLooper([["key1", "a"], ["key1", "b"]], sleep=1))

  source_2 = builder.new_source(ArrayLooper([["key1", "c"], ["key1", "d"]], sleep=1))

  source_1.join(source_2, WindowConfig.create_sliding_window(2, 1), lambda x, y: x + y).log()

  runner = Runner()
  config = Config()
  runner.run(sys.argv[1], config, builder)
示例#3
0
#  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.

'''Example WordCountStreamletTopology'''
import sys

from heronpy.streamlet.builder import Builder
from heronpy.streamlet.runner import Runner
from heronpy.streamlet.config import Config
from heronpy.streamlet.windowconfig import WindowConfig
from heronpy.connectors.mock.arraylooper import ArrayLooper

# pylint: disable=superfluous-parens
if __name__ == '__main__':
  if len(sys.argv) != 2:
    print("Topology's name is not specified")
    sys.exit(1)

  builder = Builder()
  builder.new_source(ArrayLooper(["Mary Had a little lamb", "I Love You"])) \
         .flat_map(lambda line: line.split()) \
         .map(lambda word: (word, 1)) \
         .reduce_by_key_and_window(WindowConfig.create_sliding_window(10, 2), lambda x, y: x + y) \
         .log()
  runner = Runner()
  config = Config()
  runner.run(sys.argv[1], config, builder)
示例#4
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.
'''Example WordCountStreamletTopology'''
import sys

from heronpy.streamlet.builder import Builder
from heronpy.streamlet.runner import Runner
from heronpy.streamlet.config import Config
from heronpy.streamlet.windowconfig import WindowConfig
from heronpy.connectors.mock.arraylooper import ArrayLooper

# pylint: disable=superfluous-parens
if __name__ == '__main__':
    if len(sys.argv) != 2:
        print("Topology's name is not specified")
        sys.exit(1)

    builder = Builder()
    builder.new_source(ArrayLooper(["Mary Had a little lamb", "I Love You"])) \
           .flat_map(lambda line: line.split()) \
           .map(lambda word: (word, 1)) \
           .reduce_by_key_and_window(WindowConfig.create_sliding_window(10, 2), lambda x, y: x + y) \
           .log()
    runner = Runner()
    config = Config()
    runner.run(sys.argv[1], config, builder)
# 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.
'''join_streamlet_topology.py: module is an example of how to use the join operator'''

import sys

from heronpy.streamlet.builder import Builder
from heronpy.streamlet.runner import Runner
from heronpy.streamlet.config import Config
from heronpy.streamlet.windowconfig import WindowConfig
from heronpy.connectors.mock.arraylooper import ArrayLooper

# pylint: disable=superfluous-parens
if __name__ == '__main__':
  if len(sys.argv) != 2:
    print("Topology's name is not specified")
    sys.exit(1)

  builder = Builder()

  source_1 = builder.new_source(ArrayLooper([["key1", "a"], ["key1", "b"]], sleep=1))

  source_2 = builder.new_source(ArrayLooper([["key1", "c"], ["key1", "d"]], sleep=1))

  source_1.join(source_2, WindowConfig.create_sliding_window(2, 1), lambda x, y: x + y).log()

  runner = Runner()
  config = Config()
  runner.run(sys.argv[1], config, builder)