# tPubSubInputAvro (deprecated)

Availability-note[Deprecated](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

This content is deprecated.

Connects to Google Cloud Pub/Sub to receive messages in the Avro format for the components that run transformations over these messages.

Information noteDeprecation: Spark Streaming is deprecated beginning with the R2026-09 release. Use Spark Structured Streaming instead.

## tPubSubInputAvro properties for Apache Spark Streaming

These properties are used to configure tPubSubInputAvro running in the Spark Streaming Job framework.

The Spark Streaming tPubSubInputAvro component belongs to the Messaging family.

If you are using Dataproc 1.4 and onwards as your Spark cluster, make sure to select the Allow API access to all Google Cloud services in the same project check box at the cluster creation on Google Cloud Platform to be able to run PubService.

This component is available in Talend Real-Time Big Data Platform and Talend Data Fabric.

## Basic settings

| Properties | Description |
| --- | --- |
| Define a Google Cloud configuration component | If you are using Dataproc as your Spark cluster, clear this check box.<br><br>Otherwise, select this check box to allow the Pub/Sub component to use the Google Cloud<br>configuration information provided by a<br>tGoogleCloudConfiguration component. |
| Schema and Edit<br>schema | A schema is a row description. It defines the number of fields<br>(columns) to be processed and passed on to the next component. When you create a Spark<br>Job, avoid the reserved word line when naming the<br>fields.<br><br>Note that the schema defined here must correspond exactly to the binary Avro schema of the messages received on Pub/Sub. To guarantee this, you can create another Spark Streaming Job to define a given schema using tWriteAvroFields and write the messages with this schema using tPubSubOutput. |
| Topic name | Enter the name of topic from which you want to consume the messages. |
| Subscription name | Enter the name of the subscription that needs to consume the specified topic.<br><br>If the subscription exists, it must be connected to the given topic; if<br>the subscription does not exist, it is created and connected to the<br>given topic at runtime. |

## Advanced settings

| Properties | Description |
| --- | --- |
| Storage level | From the Storage level drop-down list that is displayed, select how the cached RDDs are<br>stored, such as in memory only or in memory and on disk.<br><br>For further information about each of the storage level, see https://spark.apache.org/docs/latest/programming-guide.html#rdd-persistence. |
| Use hierarchical mode | Select this check box to map the binary (including hierarchical) Avro schema to the<br>flat schema defined in the schema editor of the current component. If the Avro<br>message to be processed is flat, leave this check box clear.<br><br>Once selecting it, you need set the following parameter(s):<br><br><ul> <li> <p> <span>Local path to the avro                    schema</span>: browse to the file which defines the                schema of the Avro data to be processed.</p> </li> <li> <p> <span>Mapping</span>: create the map                between the schema columns of the current component and the data stored                in the hierarchical Avro message to be handled. In the                <span>Node</span> column, you need to                enter the JSON path pointing to the data to be read from the                Avro message.</p> </li> </ul> |

## Usage

| Usage guidance | Description |
| --- | --- |
| Usage rule | This component is used as a start component and requires an output link. |
| Spark Connection | In the Spark<br>Configuration tab in the Run<br>view, define the connection to a given Spark cluster for the whole Job. In<br>addition, since the Job expects its dependent jar files for execution, you must<br>specify the directory in the file system to which these jar files are<br>transferred so that Spark can access these files:<br><br><ul> <li> <div> <span>Yarn mode</span> (Yarn client or Yarn cluster):<ul> <li> <p>When using Google Dataproc, specify a bucket in the                                            <span>Google Storage staging bucket</span>                                        field in the <span>Spark configuration</span>                                        tab.</p> </li> <li> <p>When using HDInsight, specify the blob to be used for Job                                        deployment in the <span>Windows Azure Storage                                            configuration</span> area in the <span>Spark                                            configuration</span> tab.</p> </li> <li>When using Altus, specify the S3 bucket or the Azure                                    Data Lake Storage for Job deployment in the <span>Spark                                        configuration</span> tab.</li> <li> <p>When using on-premises distributions, use                                        the configuration component corresponding to the file system                                        your cluster is using. Typically, this system is HDFS and so                                        use <a href="https://help.qlik.com/talend/r/en-US/8.0/components/hdfs/thdfsconfiguration">tHDFSConfiguration</a>.</p> </li> </ul> </div> </li> <li> <p> <span>Standalone mode</span>: use the                            configuration component corresponding to the file system your cluster is                            using, such as <a href="https://help.qlik.com/talend/r/en-US/8.0/components/hdfs/thdfsconfiguration-properties-for-apache-spark-batch">tHDFSConfiguration Apache Spark Batch</a> or <a href="https://help.qlik.com/talend/r/en-US/8.0/components/amazon-s3/ts3configuration-properties-for-apache-spark-batch">tS3Configuration Apache Spark Batch</a>.</p> <p>If you are using Databricks without any configuration component present                            in your Job, your business data is written directly in DBFS (Databricks                            Filesystem).</p> </li> </ul><br><br>This connection is effective on a per-Job basis. |
| PubSub access permissions | When you use Pub/Sub with a Dataproc cluster, ensure that this cluster<br>has the appropriate permissions to access the Pub/Sub service.<br><br>To do this, you can create the Dataproc cluster by checking<br>Allow API access to all Google Cloud services in<br>the same project in the advanced options on Google Cloud Platform, or<br>via the command line, assigning the scopes explicitly (the following<br>example is for a low-resource test cluster):<br><br>```<br>gcloud beta dataproc clusters create CLUSTER_ID \<br>--zone europe-west1-b \<br>--master-machine-type n1-standard-2 \<br>--master-boot-disk-size 50 \<br>--num-workers 2 \<br>--worker-machine-type n1-standard-2 \<br>--worker-boot-disk-size 50 \<br>--scopes 'https://www.googleapis.com/auth/cloud-platform' \<br>--project PROJECT_ID<br>``` |