Let us begin with understanding of Google Cloud dataflow what it is all about before moving to our GCP Cloud Dataflow plugin and how it benefits to our workload automation users.

Data is generated in real-time from websites, mobile apps, IoT devices and other workloads. Capturing, processing, and analyzing this data is a priority for all businesses. However, data from these systems is not often in the format that is conducive for analysis or for effective use by downstream systems. That’s where Dataflow comes in! dataflow is used for processing and enriching batch or stream data for use cases such as analysis, machine learning or data warehousing.

Dataflow templates offer a collection of pre-built templates with an option to create your own custom ones! Here in workload automation, you can implement Text files on Cloud Storage to BigQuery template.

The Text Files on Cloud Storage to BigQuery pipeline is a batch pipeline that allows you to stream text files stored in Cloud Storage, transform them using a JavaScript User Defined Function (UDF) that you provide, and append the results to BigQuery.

Let us now understand the plugin part with job definition parameters:

Log in to the Dynamic Workload Console and open the Workload Designer. Choose to create a new job and select “GCP Cloud Dataflow” job type in the Cloud section.

Figure 1: Job Definition Page


Establishing connection to the Google Cloud server:

Use this section to connect to the Google Cloud in two ways.

  1. GCP Default Credentials — If Customer VM’s already resides inside GCP environment then no need to provide credential explicitly.
  2. GCP Server Credentials – Manually provide below details.

Service Account – The service account associated to your GCS account. Click the Select button to choose the service account in the cloud console.

Project ID – The project ID is a unique name associated with each project. It is mandatory and unique for each service account.

Test Connection – Click to verify if the connection to the Google Cloud works correctly.

Figure 2: Connection Page


In Action tab specify the bucket name and operation which you want to perform.

  • Job Name – Specify the name of the job, must be unique among running jobs.
  • Region – Choose a dataflow regional endpoint to deploy worker instances and store job metadata.
  • Template Path – Text files on Cloud Storage to BigQuery.

Ex. gs://your-project-region/latest/GCS_text_to_BigQuery

Batch pipeline. Reads text files stored in Cloud Storage, transforms them using a JavaScript user-defined function (UDF), and outputs the result to BigQuery.

  • Javascript UDF path in Cloud Storage – The Cloud Storage path pattern for the JavaScript code containing your user-defined functions.

Ex: gs://your-bucket/your-transforms/*.js

  • JSON Path – The Cloud Storage path to the JSON file that defines your BigQuery schema. Ex: gs://your-bucket/your-schema.json
  • Javascript UDF Name – The name of the function to call from your JavaScript file. Use only letters, digits, and underscores. Ex: transform_udf1.
  • BigQuery Output Table – The location of the BigQuery table in which to store your processed data. If you reuse an existing table, it will be overwritten. Ex: your-project:your-dataset.your-table.
  • Cloud Storage Input Path – The path to the Cloud Storage text to read. Ex: gs://your-bucket/your-file.txt
  • Temporary BigQuery Directory – Temporary directory for the BigQuery loading process. Ex: gs://your-bucket/your-files/temp-dir.
  • Temporary Location – Path and filename prefix for writing temporary files. Ex: gs://your-bucket/temp.
  • Network – Network to which workers will be assigned. If empty or unspecified, the service will use the network “default”.
  • Subnetwork – Subnetwork to which workers will be assigned, if desired. Value can be either a complete URL or an abbreviated path. If the subnetwork is located in a Shared VPC network, you must use the complete URL.

Figure 3: Action Page

Submitting your job

It is time to Submit your job into the current plan. You can add your job to the job stream that automates your business process flow. Select the action menu in the top-left corner of the job definition panel and click on Submit Job into Current Plan. A confirmation message is displayed, and you can switch to the Monitoring view to see what is going on.

Figure 4: Submit Job Into Current Plan Page

Monitor Page

Figure 5: Monitor Page

Users can cancel the running the job by clicking kill option.

Job Log Details

Figure 6: Job Log Page

WorkFlow Page

Figure 7: Workflow Details Page

Are you curious to try out the GCP Cloud Dataflow plugin? Download the integrations from the Automation Hub and get started.

Authors Bio

Suhas H N, Senior Developer at HCL Technologies 

Works as a Plugin Developer in Workload Automation. Acquired skills on Java, Spring, Spring Boot, Microservices, AngularJS, JavaScript.

LinkedIn: https://www.linkedin.com/in/suhas-hn-9a9b4165/


Rabic Meeran K, Senior Engineer at HCL Technologies 

Responsible for design and develop integration plug-ins for Workload Automation. Having two decades of experience in creating software products to enterprise customers.

LinkedIn: https://www.linkedin.com/in/rabic-meeran-4a828324/


Saket Saurav, Tester (Senior Engineer) at HCL Technologies

Responsible for performing Automation and Manual Testing for different plugins in Workload Automation using Java Unified Test Automation Framework. Hands-on experience on Java programming language, Web Services with databases like Oracle and SQL Server.

LinkedIn: https://www.linkedin.com/in/saket-saurav-8892b546/

Comment wrap
Further Reading
Automation | June 20, 2022
The Dynamic Workload Console is the one-stop automation platform for users across the business
The Dynamic Workload Console (DWC) has become a core platform for workload automation, providing visibility into everything all in one place.“The designing of a job stream is a key operation for schedulers and application developers to or interconnect business applications and achieve governance and control,” Zaccone said. “Our idea with the new Workload Designer is to empower what we had and push it to an advanced level to provide everything is needed to our customers.” 
Automation | May 24, 2022
Ensuring Passwordless Job Schedulation with CyberArk Integration
CyberArk is an identity and access manager offering a wide set of identity security capabilities. You can use it to submit Workload Automation jobs without specifying any passwords, which are retrieved from the CyberArk vault.
Automation | May 19, 2022
Continuous Security and Quality Updates on Dynamic Workload Console 10.1
After the biggest launch of Workload Automation 10.0.1 release in 1Q of 2022 (see the Workload automation original Video), what can we expect in 2022? Big news! Our first release refreshing for Dynamic Workload Console 10.0.1 is ready. Let’s answer the 5 WH questions.
Filters result by