256 lines
12 KiB
XML
256 lines
12 KiB
XML
<COMPONENT>
|
|
<HEADER
|
|
PLATEFORM="ALL"
|
|
SERIAL=""
|
|
VERSION="0.102"
|
|
STATUS="ALPHA"
|
|
|
|
COMPATIBILITY="ALL"
|
|
AUTHOR="Talend"
|
|
RELEASE_DATE="20190524A"
|
|
STARTABLE="true"
|
|
LOG4J_ENABLED="true"
|
|
DATA_AUTO_PROPAGATE="false"
|
|
HAS_CONDITIONAL_OUTPUTS="true"
|
|
SCHEMA_AUTO_PROPAGATE="false"
|
|
>
|
|
<SIGNATURE/>
|
|
</HEADER>
|
|
<FAMILIES>
|
|
<FAMILY>Big Data/Google BigQuery</FAMILY>
|
|
</FAMILIES>
|
|
<DOCUMENTATION>
|
|
<URL/>
|
|
</DOCUMENTATION>
|
|
<CONNECTORS>
|
|
<CONNECTOR CTYPE="FLOW" MAX_INPUT="1" MAX_OUTPUT="1"/>
|
|
<CONNECTOR CTYPE="ITERATE" MAX_OUTPUT="1" MAX_INPUT="1"/>
|
|
<CONNECTOR CTYPE="SUBJOB_OK" MAX_INPUT="1"/>
|
|
<CONNECTOR CTYPE="SUBJOB_ERROR" MAX_INPUT="1"/>
|
|
<CONNECTOR CTYPE="COMPONENT_OK"/>
|
|
<CONNECTOR CTYPE="COMPONENT_ERROR"/>
|
|
<CONNECTOR CTYPE="RUN_IF"/>
|
|
</CONNECTORS>
|
|
<PARAMETERS>
|
|
<PARAMETER
|
|
NAME="PROPERTY"
|
|
FIELD="PROPERTY_TYPE"
|
|
NUM_ROW="1"
|
|
REPOSITORY_VALUE="BIGQUERY"
|
|
/>
|
|
|
|
<PARAMETER
|
|
NAME="SCHEMA"
|
|
FIELD="SCHEMA_TYPE"
|
|
REQUIRED="true"
|
|
NUM_ROW="2"
|
|
/>
|
|
|
|
<PARAMETER NAME="AUTH_MODE" FIELD="CLOSED_LIST" NUM_ROW="3" REQUIRED="true" GROUP="AUTHENTICATION"
|
|
REPOSITORY_VALUE="AUTH_MODE">
|
|
<ITEMS DEFAULT="SERVICEACCOUNT">
|
|
<ITEM NAME="SERVICEACCOUNT" VALUE="SERVICEACCOUNT"/>
|
|
<ITEM NAME="OAUTH" VALUE="OAUTH"/>
|
|
<ITEM NAME="TOKEN" VALUE="TOKEN" />
|
|
</ITEMS>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="ACCESS_TOKEN"
|
|
FIELD="PASSWORD"
|
|
NUM_ROW="10"
|
|
REQUIRED="true"
|
|
SHOW_IF="AUTH_MODE == 'TOKEN'"
|
|
GROUP="AUTHENTICATION"
|
|
>
|
|
<DEFAULT>""</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="ACCESS_TOKEN_WARNING"
|
|
FIELD="LABEL"
|
|
NUM_ROW="11"
|
|
REQUIRED="false"
|
|
GROUP="AUTHENTICATION"
|
|
SHOW_IF="AUTH_MODE == 'TOKEN'"
|
|
>
|
|
<DEFAULT>*Note: If the Access Token Expire we won't be able to refresh it!"</DEFAULT>
|
|
</PARAMETER>
|
|
<PARAMETER
|
|
NAME="SERVICE_ACCOUNT_CREDENTIALS_FILE"
|
|
REPOSITORY_VALUE="SERVICE_ACCOUNT_CREDENTIALS_FILE"
|
|
GROUP="AUTHENTICATION"
|
|
FIELD="FILE"
|
|
NUM_ROW="10"
|
|
REQUIRED="true"
|
|
SHOW_IF="AUTH_MODE == 'SERVICEACCOUNT'"
|
|
>
|
|
<DEFAULT>""</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="CLIENT_ID"
|
|
FIELD="TEXT"
|
|
NUM_ROW="10"
|
|
REQUIRED="true"
|
|
SHOW_IF="AUTH_MODE == 'OAUTH'"
|
|
GROUP="AUTHENTICATION" REPOSITORY_VALUE="CLIENT_ID"
|
|
>
|
|
<DEFAULT>""</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="CLIENT_SECRET"
|
|
FIELD="PASSWORD"
|
|
NUM_ROW="20"
|
|
REQUIRED="true"
|
|
SHOW_IF="AUTH_MODE == 'OAUTH'"
|
|
GROUP="AUTHENTICATION" REPOSITORY_VALUE="CLIENT_SECRET"
|
|
>
|
|
<DEFAULT>""</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="PROJECT_ID"
|
|
FIELD="TEXT"
|
|
NUM_ROW="40"
|
|
REQUIRED="true"
|
|
REPOSITORY_VALUE="PROJECT_ID"
|
|
>
|
|
<DEFAULT>""</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="AUTHORIZATION_CODE"
|
|
FIELD="TEXT"
|
|
NUM_ROW="30"
|
|
REQUIRED="true"
|
|
SHOW_IF="AUTH_MODE == 'OAUTH'"
|
|
GROUP="AUTHENTICATION" REPOSITORY_VALUE="AUTHORIZATION_CODE"
|
|
>
|
|
<DEFAULT>""</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="USE_LEGACY_SQL"
|
|
FIELD="CHECK"
|
|
SHOW="true"
|
|
NUM_ROW="45"
|
|
>
|
|
<DEFAULT>false</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER
|
|
NAME="QUERY"
|
|
FIELD="MEMO_SQL"
|
|
NUM_ROW="50"
|
|
REQUIRED="true"
|
|
REPOSITORY_VALUE="QUERY"
|
|
>
|
|
<DEFAULT>"select id, name from employee"</DEFAULT>
|
|
</PARAMETER>
|
|
</PARAMETERS>
|
|
<ADVANCED_PARAMETERS>
|
|
<PARAMETER NAME="USE_REGION_ENDPOINT"
|
|
FIELD="CHECK"
|
|
NUM_ROW="4"
|
|
EQUIRED="true"
|
|
GROUP="REGION_ENDPOINT_GROUP" REPOSITORY_VALUE="USE_REGION_ENDPOINT"
|
|
SHOW_IF="(AUTH_MODE == 'SERVICEACCOUNT')" >
|
|
<DEFAULT>false</DEFAULT>
|
|
</PARAMETER>
|
|
<PARAMETER NAME="REGION_ENDPOINT_BQ"
|
|
FIELD="TEXT"
|
|
NUM_ROW="6"
|
|
REQUIRED="false"
|
|
GROUP="REGION_ENDPOINT_GROUP" REPOSITORY_VALUE="REGION_ENDPOINT_BQ"
|
|
SHOW_IF="(AUTH_MODE == 'SERVICEACCOUNT') AND (USE_REGION_ENDPOINT == 'true')" >
|
|
<DEFAULT>"https://bigquery.googleapis.com"</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER NAME="TOKEN_NAME" FIELD="FILE" NUM_ROW="8"
|
|
REQUIRED="true" SHOW_IF="AUTH_MODE == 'OAUTH'">
|
|
<DEFAULT>"__COMP_DEFAULT_FILE_DIR__/token.properties"</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER NAME="ADVANCED_SEPARATOR" FIELD="CHECK" REQUIRED="true" NUM_ROW="10">
|
|
<DEFAULT>false</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER NAME="THOUSANDS_SEPARATOR" FIELD="TEXT" REQUIRED="true" NUM_ROW="10"
|
|
SHOW_IF="(ADVANCED_SEPARATOR == 'true')">
|
|
<DEFAULT>","</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER NAME="DECIMAL_SEPARATOR" FIELD="TEXT" REQUIRED="true" NUM_ROW="10"
|
|
SHOW_IF="(ADVANCED_SEPARATOR == 'true')">
|
|
<DEFAULT>"."</DEFAULT>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER NAME="ENCODING" FIELD="ENCODING_TYPE" NUM_ROW="20"
|
|
REQUIRED="true" REPOSITORY_VALUE="ENCODING">
|
|
<DEFAULT>"ISO-8859-15"</DEFAULT>
|
|
</PARAMETER>
|
|
<!--
|
|
https://cloud.google.com/bigquery/querying-data#large-results
|
|
SMALL: allowLargeResult is false
|
|
LARGE: allowLargeResult is true and auto create/clean temp dataset/table
|
|
AUTO: try SMALL first, if get responseTooLarge error then try LARGE
|
|
-->
|
|
<PARAMETER
|
|
NAME="RESULT_SIZE"
|
|
FIELD="CLOSED_LIST"
|
|
NUM_ROW="30"
|
|
REQUIRED="true"
|
|
SHOW_IF="AUTH_MODE == 'OAUTH'"
|
|
>
|
|
<ITEMS DEFAULT="AUTO">
|
|
<ITEM NAME="SMALL" VALUE="SMALL"/>
|
|
<ITEM NAME="LARGE" VALUE="LARGE"/>
|
|
<ITEM NAME="AUTO" VALUE="AUTO"/>
|
|
</ITEMS>
|
|
</PARAMETER>
|
|
|
|
<PARAMETER NAME="FORCE_SINGLE_QUERY_EXEC" FIELD="CHECK" REQUIRED="true" NUM_ROW="40">
|
|
<DEFAULT>false</DEFAULT>
|
|
</PARAMETER>
|
|
</ADVANCED_PARAMETERS>
|
|
<CODEGENERATION>
|
|
<IMPORTS>
|
|
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED="true" />
|
|
<IMPORT NAME="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MODULE="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-oauth2/v2-rev20200213-1.31.0" REQUIRED="true" />
|
|
<IMPORT NAME="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MODULE="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-bigquery/v2-rev20201030-1.31.0" REQUIRED="true" />
|
|
<IMPORT NAME="google-http-client-1.38.0.jar" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED="true" />
|
|
<IMPORT NAME="google-oauth-client-1.33.3.jar" MODULE="google-oauth-client-1.33.3.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.33.3" REQUIRED="true" />
|
|
<IMPORT NAME="google-http-client-jackson2-1.38.0.jar" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED="true" />
|
|
<IMPORT NAME="guava-30.0-jre.jar" MODULE="guava-30.0-jre.jar" MVN="mvn:com.google.guava/guava/30.0-jre" REQUIRED="true"/>
|
|
<IMPORT NAME="failureaccess-1.0.1.jar" MODULE="failureaccess-1.0.1.jar" MVN="mvn:com.google.guava/failureaccess/1.0.1" REQUIRED="true" />
|
|
<IMPORT NAME="jackson-core-2.13.4.jar" MODULE="jackson-core-2.13.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.13.4" REQUIRED="true"/>
|
|
<IMPORT NAME="google-cloud-bigquery-1.126.3.jar" MODULE="google-cloud-bigquery-1.126.3.jar" MVN="mvn:com.google.cloud/google-cloud-bigquery/1.126.3" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
|
|
<!-- TODO remove it -->
|
|
<IMPORT NAME="google-http-client-jackson-1.25.0.jar" MODULE="google-http-client-jackson-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson/1.25.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
|
|
<IMPORT NAME="threetenbp-1.3.3.jar" MODULE="threetenbp-1.3.3.jar" MVN="mvn:org.threeten/threetenbp/1.3.3" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="google-auth-library-credentials-0.20.0.jar" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="gax-httpjson-0.44.0.jar" MODULE="gax-httpjson-0.44.0.jar" MVN="mvn:com.google.api/gax-httpjson/0.44.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="jackson-core-asl-1.9.13.jar" MODULE="jackson-core-asl-1.9.13.jar" MVN="mvn:org.codehaus.jackson/jackson-core-asl/1.9.13" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0.jar" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="gax-1.27.0.jar" MODULE="gax-1.27.0.jar" MVN="mvn:com.google.api/gax/1.27.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="api-common-1.6.0.jar" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
|
|
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED="true" />
|
|
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED="true" />
|
|
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED="true" />
|
|
<IMPORT NAME="gson-2.8.9" MODULE="gson-2.8.9.jar" MVN="mvn:com.google.code.gson/gson/2.8.9" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
|
|
</IMPORTS>
|
|
</CODEGENERATION>
|
|
<RETURNS>
|
|
<RETURN NAME="JOBID" TYPE="id_String" AVAILABILITY="AFTER"/>
|
|
<RETURN NAME="STATISTICS" TYPE="id_String" AVAILABILITY="AFTER"/>
|
|
<RETURN NAME="STATISTICS_CHILD" TYPE="id_String" AVAILABILITY="AFTER"/>
|
|
</RETURNS>
|
|
</COMPONENT>
|