diff --git a/.github/actions/ci-optimization/action.yml b/.github/actions/ci-optimization/action.yml index 2f677a0e552c23..0d435963382675 100644 --- a/.github/actions/ci-optimization/action.yml +++ b/.github/actions/ci-optimization/action.yml @@ -1,5 +1,5 @@ -name: 'Identify CI Optimizations' -description: 'Determine if code changes are specific to certain modules.' +name: "Identify CI Optimizations" +description: "Determine if code changes are specific to certain modules." outputs: frontend-only: @@ -44,27 +44,26 @@ outputs: runs: using: "composite" steps: - - uses: dorny/paths-filter@v2 + - uses: dorny/paths-filter@v3 id: filter with: + token: "" # Empty token forces it to use raw git commands. filters: | frontend: - "datahub-frontend/**" - "datahub-web-react/**" - - "smoke-test/tests/cypress/**" - "docker/datahub-frontend/**" ingestion: - "metadata-ingestion-modules/**" - "metadata-ingestion/**" - "metadata-models/**" - - "smoke-test/**" - - "docker/datahub-ingestion**" + - "docker/datahub-ingestion-base/**" + - "docker/datahub-ingestion/**" ingestion-base: - "docker/datahub-ingestion-base/**" docker: - "docker/**" backend: - - ".github/**" - "metadata-models/**" - "datahub-upgrade/**" - "entity-registry/**" @@ -78,7 +77,6 @@ runs: - "metadata-utils/**" - "metadata-operation-context/**" - "datahub-graphql-core/**" - - "smoke-test/**" - "docker/**" kafka-setup: - "docker/kafka-setup/**" diff --git a/.github/actions/docker-custom-build-and-push/action.yml b/.github/actions/docker-custom-build-and-push/action.yml index 1c4a777c14802a..ccaff510c120aa 100644 --- a/.github/actions/docker-custom-build-and-push/action.yml +++ b/.github/actions/docker-custom-build-and-push/action.yml @@ -26,18 +26,26 @@ inputs: build-args: description: "List of build-time variables. Same as docker/build-push-action" required: false - tags: - # e.g. latest,head,sha12345 - description: "List of tags to use for the Docker image" + image_tag: + # e.g. pr12345 OR head OR v0.1.2.3 + description: "Main tag to use for the Docker image" required: true + flavor: + description: "Image flavor (e.g., slim, full)" + required: false target: description: "Sets the target stage to build" required: false + depot-project: + # Setting this will use native arm64 docker builds instead of QEMU emulation. + # This speeds up builds by 2-3x. + description: "Depot project id" + required: false + outputs: image_tag: description: "Docker image tags" value: ${{ steps.docker_meta.outputs.tags }} - # image_name: ${{ env.DATAHUB_GMS_IMAGE }} runs: using: "composite" @@ -45,17 +53,32 @@ runs: steps: - name: Docker meta id: docker_meta - uses: crazy-max/ghaction-docker-meta@v1 + uses: docker/metadata-action@v5 with: - # list of Docker images to use as base name for tags images: ${{ inputs.images }} - # add git short SHA as Docker tag - tag-custom: ${{ inputs.tags }} - tag-custom-only: true + flavor: | + latest=false + tags: | + type=raw,value=${{ inputs.image_tag }} + type=raw,value=head,suffix=${{ inputs.flavor && format('-{0}', inputs.flavor) || '' }},enable={{is_default_branch}} + type=sha,prefix=,format=short,suffix=${{ inputs.flavor && format('-{0}', inputs.flavor) || '' }} + + - name: Single Tag + id: single_tag + shell: bash + run: | + IMAGES=""" + ${{ inputs.images }} + """ + TAGS=""" + ${{ inputs.image_tag }} + """ + echo "SINGLE_IMAGE=$(echo $IMAGES | tr '\n' ' ' | awk -F' |,' '{ print $1 }')" >> "$GITHUB_OUTPUT" + echo "SINGLE_TAG=$(echo $IMAGES | tr '\n' ' ' | awk -F' |,' '{ print $1 }'):$(echo $TAGS | tr '\n' ' ' | awk -F' |,' '{ print $1 }')" >> "$GITHUB_OUTPUT" # Code for testing the build when not pushing to Docker Hub. - name: Build and Load image for testing (if not publishing) - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 if: ${{ inputs.publish != 'true' }} with: context: ${{ inputs.context }} @@ -68,17 +91,11 @@ runs: target: ${{ inputs.target }} load: true push: false - cache-from: type=registry,ref=${{ steps.docker_meta.outputs.tags }} - cache-to: type=inline - - name: Single Tag - if: ${{ inputs.publish != 'true' }} - shell: bash - run: | - TAGS=""" - ${{ steps.docker_meta.outputs.tags }} - """ - echo "SINGLE_TAG=$(echo $TAGS | tr '\n' ' ' | awk -F' ' '{ print $1 }')" >> $GITHUB_OUTPUT - id: single_tag + cache-from: | + type=registry,ref=${{ steps.single_tag.outputs.SINGLE_IMAGE }}:head${{ inputs.flavor && format('-{0}', inputs.flavor) || '' }} + type=registry,ref=${{ steps.docker_meta.outputs.tags }} + cache-to: | + type=inline - name: Upload image locally for testing (if not publishing) uses: ishworkh/docker-image-artifact-upload@v1 if: ${{ inputs.publish != 'true' }} @@ -88,19 +105,42 @@ runs: # Code for building multi-platform images and pushing to Docker Hub. - name: Set up QEMU uses: docker/setup-qemu-action@v3 - if: ${{ inputs.publish == 'true' }} + if: ${{ inputs.publish == 'true' && inputs.depot-project == '' }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - if: ${{ inputs.publish == 'true' }} + if: ${{ inputs.publish == 'true' && inputs.depot-project == '' }} + - name: Setup Depot CLI + uses: depot/setup-action@v1 + if: ${{ inputs.publish == 'true' && inputs.depot-project != '' }} - name: Login to DockerHub uses: docker/login-action@v3 if: ${{ inputs.publish == 'true' }} with: username: ${{ inputs.username }} password: ${{ inputs.password }} + + # Depot variant. - name: Build and Push Multi-Platform image - uses: docker/build-push-action@v5 - if: ${{ inputs.publish == 'true' }} + uses: depot/build-push-action@v1 + if: ${{ inputs.publish == 'true' && inputs.depot-project != '' }} + with: + project: ${{ inputs.depot-project }} + context: ${{ inputs.context }} + file: ${{ inputs.file }} + platforms: ${{ inputs.platforms }} + build-args: ${{ inputs.build-args }} + tags: ${{ steps.docker_meta.outputs.tags }} + target: ${{ inputs.target }} + push: true + cache-from: | + type=registry,ref=${{ steps.single_tag.outputs.SINGLE_IMAGE }}:head${{ inputs.flavor && format('-{0}', inputs.flavor) || '' }} + type=registry,ref=${{ steps.docker_meta.outputs.tags }} + cache-to: | + type=inline + + - name: Build and Push Multi-Platform image + uses: docker/build-push-action@v6 + if: ${{ inputs.publish == 'true' && inputs.depot-project == '' }} with: context: ${{ inputs.context }} file: ${{ inputs.file }} @@ -109,7 +149,10 @@ runs: tags: ${{ steps.docker_meta.outputs.tags }} target: ${{ inputs.target }} push: true - cache-from: type=registry,ref=${{ steps.docker_meta.outputs.tags }} - cache-to: type=inline + cache-from: | + type=registry,ref=${{ steps.single_tag.outputs.SINGLE_IMAGE }}:head${{ inputs.flavor && format('-{0}', inputs.flavor) || '' }} + type=registry,ref=${{ steps.docker_meta.outputs.tags }} + cache-to: | + type=inline # TODO add code for vuln scanning? diff --git a/.github/scripts/check_python_package.py b/.github/scripts/check_python_package.py index f1f30056917006..1b23d8e621ef06 100644 --- a/.github/scripts/check_python_package.py +++ b/.github/scripts/check_python_package.py @@ -1,18 +1,33 @@ import setuptools +import os folders = ["./smoke-test/tests"] for folder in folders: print(f"Checking folder {folder}") - a = [i for i in setuptools.find_packages(folder) if "cypress" not in i] - b = [i for i in setuptools.find_namespace_packages(folder) if "cypress" not in i] + packages = [i for i in setuptools.find_packages(folder) if "cypress" not in i] + namespace_packages = [ + i for i in setuptools.find_namespace_packages(folder) if "cypress" not in i + ] - in_a_not_b = set(a) - set(b) - in_b_not_a = set(b) - set(a) + print("Packages found:", packages) + print("Namespace packages found:", namespace_packages) + + in_packages_not_namespace = set(packages) - set(namespace_packages) + in_namespace_not_packages = set(namespace_packages) - set(packages) + + if in_packages_not_namespace: + print(f"Packages not in namespace packages: {in_packages_not_namespace}") + if in_namespace_not_packages: + print(f"Namespace packages not in packages: {in_namespace_not_packages}") + for pkg in in_namespace_not_packages: + pkg_path = os.path.join(folder, pkg.replace(".", os.path.sep)) + print(f"Contents of {pkg_path}:") + print(os.listdir(pkg_path)) assert ( - len(in_a_not_b) == 0 - ), f"Found packages in {folder} that are not in namespace packages: {in_a_not_b}" + len(in_packages_not_namespace) == 0 + ), f"Found packages in {folder} that are not in namespace packages: {in_packages_not_namespace}" assert ( - len(in_b_not_a) == 0 - ), f"Found namespace packages in {folder} that are not in packages: {in_b_not_a}" + len(in_namespace_not_packages) == 0 + ), f"Found namespace packages in {folder} that are not in packages: {in_namespace_not_packages}" diff --git a/.github/scripts/docker_helpers.sh b/.github/scripts/docker_helpers.sh index 0487c69eee0ef4..138c8649820ec5 100755 --- a/.github/scripts/docker_helpers.sh +++ b/.github/scripts/docker_helpers.sh @@ -5,22 +5,22 @@ export MAIN_BRANCH="master" export MAIN_BRANCH_TAG="head" function get_short_sha { - echo $(git rev-parse --short "$GITHUB_SHA") + echo $(git rev-parse --short "$GITHUB_SHA"|head -c7) } export SHORT_SHA=$(get_short_sha) echo "SHORT_SHA: $SHORT_SHA" function get_tag { - echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${MAIN_BRANCH_TAG},g" -e 's,refs/tags/,,g' -e 's,refs/pull/\([0-9]*\).*,pr\1,g'),${SHORT_SHA} + echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${MAIN_BRANCH_TAG},g" -e 's,refs/tags/,,g' -e 's,refs/pull/\([0-9]*\).*,pr\1,g') } function get_tag_slim { - echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${MAIN_BRANCH_TAG}-slim,g" -e 's,refs/tags/,,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-slim,g'),${SHORT_SHA}-slim + echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${MAIN_BRANCH_TAG}-slim,g" -e 's,refs/tags/\(.*\),\1-slim,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-slim,g') } function get_tag_full { - echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${MAIN_BRANCH_TAG}-full,g" -e 's,refs/tags/,,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-full,g'),${SHORT_SHA}-full + echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${MAIN_BRANCH_TAG}-full,g" -e 's,refs/tags/\(.*\),\1-full,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-full,g') } function get_python_docker_release_v { @@ -32,9 +32,17 @@ function get_unique_tag { } function get_unique_tag_slim { - echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${SHORT_SHA}-slim,g" -e 's,refs/tags/,,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-slim,g') + echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${SHORT_SHA}-slim,g" -e 's,refs/tags/\(.*\),\1-slim,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-slim,g') } function get_unique_tag_full { - echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${SHORT_SHA}-full,g" -e 's,refs/tags/,,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-full,g') + echo $(echo ${GITHUB_REF} | sed -e "s,refs/heads/${MAIN_BRANCH},${SHORT_SHA}-full,g" -e 's,refs/tags/\(.*\),\1-full,g' -e 's,refs/pull/\([0-9]*\).*,pr\1-full,g') +} + +function get_platforms_based_on_branch { + if [ "${{ github.event_name }}" == 'push' && "${{ github.ref }}" == "refs/heads/${MAIN_BRANCH}" ]; then + echo "linux/amd64,linux/arm64" + else + echo "linux/amd64" + fi } diff --git a/.github/scripts/docker_logs.sh b/.github/scripts/docker_logs.sh new file mode 100644 index 00000000000000..918b859fbe5b1d --- /dev/null +++ b/.github/scripts/docker_logs.sh @@ -0,0 +1,8 @@ +TARGET_DIR="${TARGET_DIR:=docker_logs}" +TEST_STRATEGY="${TEST_STRATEGY:=}" + +mkdir -p "$TARGET_DIR" +for name in `docker ps -a --format '{{.Names}}'`; +do + docker logs "$name" >& "${TARGET_DIR}/${name}${TEST_STRATEGY}.log" || true +done \ No newline at end of file diff --git a/.github/workflows/airflow-plugin.yml b/.github/workflows/airflow-plugin.yml index ab5b3eb48da7f3..912dd985f66c06 100644 --- a/.github/workflows/airflow-plugin.yml +++ b/.github/workflows/airflow-plugin.yml @@ -52,18 +52,18 @@ jobs: extra_pip_requirements: 'apache-airflow~=2.8.1 -c https://raw.githubusercontent.com/apache/airflow/constraints-2.8.1/constraints-3.10.txt' extra_pip_extras: plugin-v2 - python-version: "3.11" - extra_pip_requirements: 'apache-airflow~=2.9.3 -c https://raw.githubusercontent.com/apache/airflow/constraints-2.9.3/constraints-3.10.txt' + extra_pip_requirements: 'apache-airflow~=2.9.3 -c https://raw.githubusercontent.com/apache/airflow/constraints-2.9.3/constraints-3.11.txt' extra_pip_extras: plugin-v2 fail-fast: false steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - uses: acryldata/sane-checkout-action@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: "pip" diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index c93267947b65a8..52148ef1b91f95 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -57,18 +57,23 @@ jobs: timeout-minutes: 60 needs: setup steps: + - name: Free up disk space + run: | + sudo apt-get remove 'dotnet-*' azure-cli || true + sudo rm -rf /usr/local/lib/android/ || true + sudo docker image prune -a -f || true - uses: szenius/set-timezone@v1.2 with: timezoneLinux: ${{ matrix.timezone }} - name: Check out the repo uses: acryldata/sane-checkout-action@v3 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 if: ${{ needs.setup.outputs.ingestion_change == 'true' }} with: python-version: "3.10" @@ -86,6 +91,10 @@ jobs: -x :metadata-ingestion-modules:airflow-plugin:check \ -x :metadata-ingestion-modules:dagster-plugin:build \ -x :metadata-ingestion-modules:dagster-plugin:check \ + -x :metadata-ingestion-modules:prefect-plugin:build \ + -x :metadata-ingestion-modules:prefect-plugin:check \ + -x :metadata-ingestion-modules:gx-plugin:build \ + -x :metadata-ingestion-modules:gx-plugin:check \ -x :datahub-frontend:build \ -x :datahub-web-react:build \ --parallel @@ -118,7 +127,7 @@ jobs: steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" - name: Quickstart Compose Validation @@ -131,4 +140,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: Event File - path: ${{ github.event_path }} + path: ${{ github.event_path }} \ No newline at end of file diff --git a/.github/workflows/check-datahub-jars.yml b/.github/workflows/check-datahub-jars.yml index b45d130e0494dd..becf8126dc45ba 100644 --- a/.github/workflows/check-datahub-jars.yml +++ b/.github/workflows/check-datahub-jars.yml @@ -29,12 +29,12 @@ jobs: steps: - uses: acryldata/sane-checkout-action@v3 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" - name: check ${{ matrix.command }} jar diff --git a/.github/workflows/code-checks.yml b/.github/workflows/code-checks.yml index b3b94cc40a2fdd..0583f9ab3c4262 100644 --- a/.github/workflows/code-checks.yml +++ b/.github/workflows/code-checks.yml @@ -32,7 +32,7 @@ jobs: steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" - name: run check ${{ matrix.command }} diff --git a/.github/workflows/dagster-plugin.yml b/.github/workflows/dagster-plugin.yml index 48f1b24196c9e0..f0b9038b610d22 100644 --- a/.github/workflows/dagster-plugin.yml +++ b/.github/workflows/dagster-plugin.yml @@ -40,12 +40,12 @@ jobs: fail-fast: false steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: "pip" diff --git a/.github/workflows/docker-unified.yml b/.github/workflows/docker-unified.yml index 9487e71e8da3d1..075da20cdd11cc 100644 --- a/.github/workflows/docker-unified.yml +++ b/.github/workflows/docker-unified.yml @@ -33,6 +33,10 @@ env: DATAHUB_INGESTION_BASE_IMAGE: "acryldata/datahub-ingestion-base" DATAHUB_INGESTION_IMAGE: "acryldata/datahub-ingestion" +permissions: + contents: read + id-token: write + jobs: setup: runs-on: ubuntu-latest @@ -47,7 +51,6 @@ jobs: publish: ${{ steps.publish.outputs.publish }} pr-publish: ${{ steps.pr-publish.outputs.publish }} python_release_version: ${{ steps.tag.outputs.python_release_version }} - short_sha: ${{ steps.tag.outputs.short_sha }} branch_name: ${{ steps.tag.outputs.branch_name }} repository_name: ${{ steps.tag.outputs.repository_name }} frontend_change: ${{ steps.ci-optimize.outputs.frontend-change == 'true' }} @@ -61,6 +64,7 @@ jobs: mysql_setup_change: ${{ steps.ci-optimize.outputs.mysql-setup-change == 'true' }} postgres_setup_change: ${{ steps.ci-optimize.outputs.postgres-setup-change == 'true' }} elasticsearch_setup_change: ${{ steps.ci-optimize.outputs.elasticsearch-setup-change == 'true' }} + smoke_test_change: ${{ steps.ci-optimize.outputs.smoke-test-change == 'true' }} steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 @@ -68,23 +72,23 @@ jobs: id: tag run: | source .github/scripts/docker_helpers.sh - echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT - echo "tag=$(get_tag)" >> $GITHUB_OUTPUT - echo "slim_tag=$(get_tag_slim)" >> $GITHUB_OUTPUT - echo "full_tag=$(get_tag_full)" >> $GITHUB_OUTPUT - echo "unique_tag=$(get_unique_tag)" >> $GITHUB_OUTPUT - echo "unique_slim_tag=$(get_unique_tag_slim)" >> $GITHUB_OUTPUT - echo "unique_full_tag=$(get_unique_tag_full)" >> $GITHUB_OUTPUT - echo "python_release_version=$(get_python_docker_release_v)" >> $GITHUB_OUTPUT - echo "branch_name=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT - echo "repository_name=${GITHUB_REPOSITORY#*/}" >> $GITHUB_OUTPUT + echo "short_sha=${SHORT_SHA}" >> "$GITHUB_OUTPUT" + echo "tag=$(get_tag)" >> "$GITHUB_OUTPUT" + echo "slim_tag=$(get_tag_slim)" >> "$GITHUB_OUTPUT" + echo "full_tag=$(get_tag_full)" >> "$GITHUB_OUTPUT" + echo "unique_tag=$(get_unique_tag)" >> "$GITHUB_OUTPUT" + echo "unique_slim_tag=$(get_unique_tag_slim)" >> "$GITHUB_OUTPUT" + echo "unique_full_tag=$(get_unique_tag_full)" >> "$GITHUB_OUTPUT" + echo "python_release_version=$(get_python_docker_release_v)" >> "$GITHUB_OUTPUT" + echo "branch_name=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_OUTPUT" + echo "repository_name=${GITHUB_REPOSITORY#*/}" >> "$GITHUB_OUTPUT" - name: Check whether docker login is possible id: docker-login env: ENABLE_DOCKER_LOGIN: ${{ secrets.ACRYL_DOCKER_PASSWORD != '' }} run: | echo "Enable Docker Login: ${{ env.ENABLE_DOCKER_LOGIN }}" - echo "docker-login=${{ env.ENABLE_DOCKER_LOGIN }}" >> $GITHUB_OUTPUT + echo "docker-login=${{ env.ENABLE_DOCKER_LOGIN }}" >> "$GITHUB_OUTPUT" - name: Check whether publishing enabled id: publish env: @@ -95,7 +99,7 @@ jobs: }} run: | echo "Enable publish: ${{ env.ENABLE_PUBLISH }}" - echo "publish=${{ env.ENABLE_PUBLISH }}" >> $GITHUB_OUTPUT + echo "publish=${{ env.ENABLE_PUBLISH }}" >> "$GITHUB_OUTPUT" - name: Check whether PR publishing enabled id: pr-publish env: @@ -106,10 +110,10 @@ jobs: }} run: | echo "Enable PR publish: ${{ env.ENABLE_PUBLISH }}" - echo "publish=${{ env.ENABLE_PUBLISH }}" >> $GITHUB_OUTPUT + echo "publish=${{ env.ENABLE_PUBLISH }}" >> "$GITHUB_OUTPUT" - uses: ./.github/actions/ci-optimization id: ci-optimize - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 if: ${{ steps.ci-optimize.outputs.smoke-test-change == 'true' }} with: python-version: "3.10" @@ -121,7 +125,7 @@ jobs: ~/.cache/uv key: ${{ runner.os }}-uv-${{ hashFiles('**/requirements.txt') }} - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 if: ${{ steps.ci-optimize.outputs.smoke-test-change == 'true' }} with: distribution: "zulu" @@ -141,7 +145,7 @@ jobs: if: ${{ needs.setup.outputs.backend_change == 'true' || needs.setup.outputs.publish == 'true' }} steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 @@ -157,7 +161,7 @@ jobs: with: images: | ${{ env.DATAHUB_GMS_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -205,7 +209,7 @@ jobs: if: ${{ needs.setup.outputs.backend_change == 'true' || needs.setup.outputs.publish == 'true' }} steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 @@ -221,7 +225,7 @@ jobs: with: images: | ${{ env.DATAHUB_MAE_CONSUMER_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -269,7 +273,7 @@ jobs: if: ${{ needs.setup.outputs.backend_change == 'true' || needs.setup.outputs.publish == 'true' }} steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 @@ -285,7 +289,7 @@ jobs: with: images: | ${{ env.DATAHUB_MCE_CONSUMER_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -333,7 +337,7 @@ jobs: if: ${{ needs.setup.outputs.backend_change == 'true' || needs.setup.outputs.publish == 'true' }} steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 @@ -349,7 +353,7 @@ jobs: with: images: | ${{ env.DATAHUB_UPGRADE_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -394,10 +398,10 @@ jobs: name: Build and Push DataHub Frontend Docker Image runs-on: ubuntu-latest needs: setup - if: ${{ needs.setup.outputs.frontend_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.frontend_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true'}} steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 @@ -415,7 +419,7 @@ jobs: with: images: | ${{ env.DATAHUB_FRONTEND_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -433,7 +437,7 @@ jobs: actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status steps: - name: Checkout # adding checkout step just to make trivy upload happy - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Download image uses: ishworkh/docker-image-artifact-download@v1 if: ${{ needs.setup.outputs.publish != 'true' && needs.setup.outputs.pr-publish != 'true' }} @@ -469,7 +473,7 @@ jobs: with: images: | ${{ env.DATAHUB_KAFKA_SETUP_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -490,7 +494,7 @@ jobs: with: images: | ${{ env.DATAHUB_MYSQL_SETUP_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -502,7 +506,7 @@ jobs: name: Build and Push DataHub Elasticsearch Setup Docker Image runs-on: ubuntu-latest needs: setup - if: ${{ needs.setup.outputs.elasticsearch_setup_change == 'true' || (needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true') }} + if: ${{ needs.setup.outputs.elasticsearch_setup_change == 'true' || (needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' ) }} steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 @@ -511,7 +515,7 @@ jobs: with: images: | ${{ env.DATAHUB_ELASTIC_SETUP_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} @@ -525,7 +529,7 @@ jobs: outputs: tag: ${{ steps.tag.outputs.tag }} needs: setup - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 @@ -536,23 +540,24 @@ jobs: target: base images: | ${{ env.DATAHUB_INGESTION_BASE_IMAGE }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} context: . file: ./docker/datahub-ingestion-base/Dockerfile platforms: linux/amd64,linux/arm64/v8 + depot-project: ${{ vars.DEPOT_PROJECT_ID }} - name: Compute DataHub Ingestion (Base) Tag id: tag - run: echo "tag=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_tag || 'head' }}" >> $GITHUB_OUTPUT + run: echo "tag=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_tag || 'head' }}" >> "$GITHUB_OUTPUT" datahub_ingestion_base_slim_build: name: Build and Push DataHub Ingestion (Base-Slim) Docker Image runs-on: ubuntu-latest outputs: tag: ${{ steps.tag.outputs.tag }} needs: [setup, datahub_ingestion_base_build] - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 @@ -574,7 +579,8 @@ jobs: target: slim-install images: | ${{ env.DATAHUB_INGESTION_BASE_IMAGE }} - tags: ${{ needs.setup.outputs.slim_tag }} + image_tag: ${{ needs.setup.outputs.slim_tag }} + flavor: slim username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} build-args: | @@ -584,16 +590,17 @@ jobs: context: . file: ./docker/datahub-ingestion-base/Dockerfile platforms: linux/amd64,linux/arm64/v8 + depot-project: ${{ vars.DEPOT_PROJECT_ID }} - name: Compute DataHub Ingestion (Base-Slim) Tag id: tag - run: echo "tag=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_slim_tag || 'head-slim' }}" >> $GITHUB_OUTPUT + run: echo "tag=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_slim_tag || 'head-slim' }}" >> "$GITHUB_OUTPUT" datahub_ingestion_base_full_build: name: Build and Push DataHub Ingestion (Base-Full) Docker Image runs-on: ubuntu-latest outputs: tag: ${{ steps.tag.outputs.tag }} needs: [setup, datahub_ingestion_base_build] - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 @@ -615,7 +622,7 @@ jobs: target: full-install images: | ${{ env.DATAHUB_INGESTION_BASE_IMAGE }} - tags: ${{ needs.setup.outputs.full_tag }} + image_tag: ${{ needs.setup.outputs.full_tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} build-args: | @@ -627,7 +634,7 @@ jobs: platforms: linux/amd64,linux/arm64/v8 - name: Compute DataHub Ingestion (Base-Full) Tag id: tag - run: echo "tag=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_full_tag || 'head' }}" >> $GITHUB_OUTPUT + run: echo "tag=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_full_tag || 'head' }}" >> "$GITHUB_OUTPUT" datahub_ingestion_slim_build: name: Build and Push DataHub Ingestion Docker Images @@ -636,10 +643,10 @@ jobs: tag: ${{ steps.tag.outputs.tag }} needs_artifact_download: ${{ needs.setup.outputs.ingestion_change == 'true' && ( needs.setup.outputs.publish != 'true' && needs.setup.outputs.pr-publish != 'true') }} needs: [setup, datahub_ingestion_base_slim_build] - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 @@ -647,7 +654,7 @@ jobs: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 - name: Build codegen - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish =='true' }} run: ./gradlew :metadata-ingestion:codegen - name: Download Base Image uses: ishworkh/docker-image-artifact-download@v1 @@ -661,7 +668,7 @@ jobs: username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} - name: Build and push Slim Image - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} uses: ./.github/actions/docker-custom-build-and-push with: target: final @@ -672,16 +679,18 @@ jobs: DOCKER_VERSION=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_slim_tag || 'head-slim' }} RELEASE_VERSION=${{ needs.setup.outputs.python_release_version }} APP_ENV=slim - tags: ${{ needs.setup.outputs.slim_tag }} + image_tag: ${{ needs.setup.outputs.slim_tag }} + flavor: slim username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} context: . file: ./docker/datahub-ingestion/Dockerfile platforms: linux/amd64,linux/arm64/v8 + depot-project: ${{ vars.DEPOT_PROJECT_ID }} - name: Compute Tag id: tag - run: echo "tag=${{ needs.setup.outputs.ingestion_change == 'true' && needs.setup.outputs.unique_slim_tag || 'head-slim' }}" >> $GITHUB_OUTPUT + run: echo "tag=${{ needs.setup.outputs.ingestion_change == 'true' && needs.setup.outputs.unique_slim_tag || 'head-slim' }}" >> "$GITHUB_OUTPUT" datahub_ingestion_slim_scan: permissions: contents: read # for actions/checkout to fetch code @@ -711,6 +720,7 @@ jobs: severity: "CRITICAL,HIGH" ignore-unfixed: true vuln-type: "os,library" + timeout: 15m - name: Upload Trivy scan results to GitHub Security tab uses: github/codeql-action/upload-sarif@v2 with: @@ -723,10 +733,10 @@ jobs: tag: ${{ steps.tag.outputs.tag }} needs_artifact_download: ${{ needs.setup.outputs.ingestion_change == 'true' && ( needs.setup.outputs.publish != 'true' && needs.setup.outputs.pr-publish != 'true' ) }} needs: [setup, datahub_ingestion_base_full_build] - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 @@ -734,7 +744,7 @@ jobs: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 - name: Build codegen - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} run: ./gradlew :metadata-ingestion:codegen - name: Download Base Image uses: ishworkh/docker-image-artifact-download@v1 @@ -748,7 +758,7 @@ jobs: username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} - name: Build and push Full Image - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} uses: ./.github/actions/docker-custom-build-and-push with: target: final @@ -758,16 +768,17 @@ jobs: BASE_IMAGE=${{ env.DATAHUB_INGESTION_BASE_IMAGE }} DOCKER_VERSION=${{ needs.setup.outputs.ingestion_base_change == 'true' && needs.setup.outputs.unique_tag || 'head' }} RELEASE_VERSION=${{ needs.setup.outputs.python_release_version }} - tags: ${{ needs.setup.outputs.tag }} + image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} context: . file: ./docker/datahub-ingestion/Dockerfile platforms: linux/amd64,linux/arm64/v8 + depot-project: ${{ vars.DEPOT_PROJECT_ID }} - name: Compute Tag (Full) id: tag - run: echo "tag=${{ needs.setup.outputs.ingestion_change == 'true' && needs.setup.outputs.unique_tag || 'head' }}" >> $GITHUB_OUTPUT + run: echo "tag=${{ needs.setup.outputs.ingestion_change == 'true' && needs.setup.outputs.unique_tag || 'head' }}" >> "$GITHUB_OUTPUT" datahub_ingestion_full_scan: permissions: contents: read # for actions/checkout to fetch code @@ -776,7 +787,7 @@ jobs: name: "[Monitoring] Scan Datahub Ingestion images for vulnerabilities" runs-on: ubuntu-latest needs: [setup, datahub_ingestion_full_build] - if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' }} + if: ${{ needs.setup.outputs.ingestion_change == 'true' || needs.setup.outputs.publish == 'true' || needs.setup.outputs.pr-publish == 'true' }} steps: - name: Checkout # adding checkout step just to make trivy upload happy uses: acryldata/sane-checkout-action@v3 @@ -797,6 +808,7 @@ jobs: severity: "CRITICAL,HIGH" ignore-unfixed: true vuln-type: "os,library" + timeout: 15m - name: Upload Trivy scan results to GitHub Security tab uses: github/codeql-action/upload-sarif@v2 with: @@ -811,13 +823,13 @@ jobs: - id: set-matrix run: | if [ '${{ needs.setup.outputs.frontend_only }}' == 'true' ]; then - echo 'matrix=["cypress_suite1","cypress_rest"]' >> $GITHUB_OUTPUT + echo 'matrix=["cypress_suite1","cypress_rest"]' >> "$GITHUB_OUTPUT" elif [ '${{ needs.setup.outputs.ingestion_only }}' == 'true' ]; then - echo 'matrix=["no_cypress_suite0","no_cypress_suite1"]' >> $GITHUB_OUTPUT - elif [ '${{ needs.setup.outputs.backend_change }}' == 'true' ]; then - echo 'matrix=["no_cypress_suite0","no_cypress_suite1","cypress_suite1","cypress_rest"]' >> $GITHUB_OUTPUT + echo 'matrix=["no_cypress_suite0","no_cypress_suite1"]' >> "$GITHUB_OUTPUT" + elif [[ '${{ needs.setup.outputs.backend_change }}' == 'true' || '${{ needs.setup.outputs.smoke_test_change }}' == 'true' ]]; then + echo 'matrix=["no_cypress_suite0","no_cypress_suite1","cypress_suite1","cypress_rest"]' >> "$GITHUB_OUTPUT" else - echo 'matrix=[]' >> $GITHUB_OUTPUT + echo 'matrix=[]' >> "$GITHUB_OUTPUT" fi smoke_test: @@ -853,20 +865,15 @@ jobs: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" cache: "pip" - - name: Install dependencies - run: ./metadata-ingestion/scripts/install_deps.sh - - name: Build datahub cli - run: | - ./gradlew :metadata-ingestion:install - name: Login to DockerHub uses: docker/login-action@v3 if: ${{ needs.setup.outputs.docker-login == 'true' }} @@ -961,11 +968,18 @@ jobs: docker pull '${{ env.DATAHUB_ELASTIC_SETUP_IMAGE }}:head' docker tag '${{ env.DATAHUB_ELASTIC_SETUP_IMAGE }}:head' '${{ env.DATAHUB_ELASTIC_SETUP_IMAGE }}:${{ needs.setup.outputs.unique_tag }}' fi + if [ '${{ needs.setup.outputs.integrations_service_change }}' == 'false' ]; then + echo 'datahub-integration-service head images' + docker pull '${{ env.DATAHUB_INTEGRATIONS_IMAGE }}:head' + docker tag '${{ env.DATAHUB_INTEGRATIONS_IMAGE }}:head' '${{ env.DATAHUB_INTEGRATIONS_IMAGE }}:${{ needs.setup.outputs.unique_tag }}' + fi + - name: CI Slim Head Images + run: | if [ '${{ needs.setup.outputs.ingestion_change }}' == 'false' ]; then echo 'datahub-ingestion head-slim images' docker pull '${{ env.DATAHUB_INGESTION_IMAGE }}:head-slim' if [ '${{ needs.datahub_ingestion_slim_build.outputs.tag || 'head-slim' }}' != 'head-slim' ]; then - docker tag '${{ env.DATAHUB_INGESTION_IMAGE }}:head-slim' '${{ env.DATAHUB_INGESTION_IMAGE }}:${{ needs.datahub_ingestion_slim_build.outputs.tag }}' + docker tag '${{ env.DATAHUB_INGESTION_IMAGE }}:head-slim' '${{ env.DATAHUB_INGESTION_IMAGE }}:${{ needs.setup.outputs.unique_tag }}' fi fi - name: Disk Check @@ -994,6 +1008,15 @@ jobs: } } }' + - name: Disk Check + run: df -h . && docker images + - name: Install dependencies + run: ./metadata-ingestion/scripts/install_deps.sh + - name: Build datahub cli + run: | + ./gradlew :metadata-ingestion:install + - name: Disk Check + run: df -h . && docker images - name: Remove Source Code run: find ./*/* ! -path "./metadata-ingestion*" ! -path "./smoke-test*" ! -path "./gradle*" -delete - name: Disk Check @@ -1014,21 +1037,14 @@ jobs: if: failure() run: | docker ps -a - docker logs datahub-datahub-gms-1 >& gms-${{ matrix.test_strategy }}.log || true - docker logs datahub-datahub-actions-1 >& actions-${{ matrix.test_strategy }}.log || true - docker logs datahub-datahub-mae-consumer-1 >& mae-${{ matrix.test_strategy }}.log || true - docker logs datahub-datahub-mce-consumer-1 >& mce-${{ matrix.test_strategy }}.log || true - docker logs datahub-broker-1 >& broker-${{ matrix.test_strategy }}.log || true - docker logs datahub-mysql-1 >& mysql-${{ matrix.test_strategy }}.log || true - docker logs datahub-elasticsearch-1 >& elasticsearch-${{ matrix.test_strategy }}.log || true - docker logs datahub-datahub-frontend-react-1 >& frontend-${{ matrix.test_strategy }}.log || true - docker logs datahub-upgrade-1 >& upgrade-${{ matrix.test_strategy }}.log || true + TEST_STRATEGY="-${{ matrix.test_strategy }}" + source .github/scripts/docker_logs.sh - name: Upload logs uses: actions/upload-artifact@v3 if: failure() with: name: docker logs - path: "*.log" + path: "docker_logs/*.log" - name: Upload screenshots uses: actions/upload-artifact@v3 if: failure() @@ -1049,7 +1065,7 @@ jobs: runs-on: ubuntu-latest needs: [setup, smoke_test] steps: - - uses: aws-actions/configure-aws-credentials@v1 + - uses: aws-actions/configure-aws-credentials@v4 if: ${{ needs.setup.outputs.publish != 'false' && github.repository_owner == 'datahub-project' && needs.setup.outputs.repository_name == 'datahub' }} with: aws-access-key-id: ${{ secrets.AWS_SQS_ACCESS_KEY_ID }} diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 9d63663693f902..dbeff7a9c0f9fc 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -36,12 +36,12 @@ jobs: with: fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" cache: pip diff --git a/.github/workflows/gx-plugin.yml b/.github/workflows/gx-plugin.yml new file mode 100644 index 00000000000000..06a10883e70f54 --- /dev/null +++ b/.github/workflows/gx-plugin.yml @@ -0,0 +1,87 @@ +name: GX Plugin +on: + push: + branches: + - master + paths: + - ".github/workflows/gx-plugin.yml" + - "metadata-ingestion-modules/gx-plugin/**" + - "metadata-ingestion/**" + - "metadata-models/**" + pull_request: + branches: + - master + paths: + - ".github/**" + - "metadata-ingestion-modules/gx-plugin/**" + - "metadata-ingestion/**" + - "metadata-models/**" + release: + types: [published] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + gx-plugin: + runs-on: ubuntu-latest + env: + SPARK_VERSION: 3.0.3 + DATAHUB_TELEMETRY_ENABLED: false + strategy: + matrix: + python-version: ["3.8", "3.10"] + include: + - python-version: "3.8" + extraPythonRequirement: "great-expectations~=0.15.12" + - python-version: "3.10" + extraPythonRequirement: "great-expectations~=0.16.0 numpy~=1.26.0" + - python-version: "3.11" + extraPythonRequirement: "great-expectations~=0.17.0" + fail-fast: false + steps: + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: "zulu" + java-version: 17 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: "pip" + - name: Install dependencies + run: ./metadata-ingestion/scripts/install_deps.sh + - name: Install GX package and test (extras ${{ matrix.extraPythonRequirement }}) + run: ./gradlew -Pextra_pip_requirements='${{ matrix.extraPythonRequirement }}' :metadata-ingestion-modules:gx-plugin:lint :metadata-ingestion-modules:gx-plugin:testQuick + - name: pip freeze show list installed + if: always() + run: source metadata-ingestion-modules/gx-plugin/venv/bin/activate && pip freeze + - uses: actions/upload-artifact@v3 + if: ${{ always() && matrix.python-version == '3.11' && matrix.extraPythonRequirement == 'great-expectations~=0.17.0' }} + with: + name: Test Results (GX Plugin ${{ matrix.python-version}}) + path: | + **/build/reports/tests/test/** + **/build/test-results/test/** + **/junit.*.xml + - name: Upload coverage to Codecov + if: always() + uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + directory: . + fail_ci_if_error: false + flags: gx-${{ matrix.python-version }}-${{ matrix.extraPythonRequirement }} + name: pytest-gx + verbose: true + + event-file: + runs-on: ubuntu-latest + steps: + - name: Upload + uses: actions/upload-artifact@v3 + with: + name: Event File + path: ${{ github.event_path }} diff --git a/.github/workflows/lint-actions.yml b/.github/workflows/lint-actions.yml index 4d83adbeba08a1..8a1777522f416b 100644 --- a/.github/workflows/lint-actions.yml +++ b/.github/workflows/lint-actions.yml @@ -14,3 +14,8 @@ jobs: - uses: reviewdog/action-actionlint@v1 with: reporter: github-pr-review + permissions: + contents: read + checks: write + pull-requests: write + issues: write diff --git a/.github/workflows/metadata-ingestion.yml b/.github/workflows/metadata-ingestion.yml index 51b97552eb150a..cfb3693d89381f 100644 --- a/.github/workflows/metadata-ingestion.yml +++ b/.github/workflows/metadata-ingestion.yml @@ -46,14 +46,19 @@ jobs: - python-version: "3.10" fail-fast: false steps: + - name: Free up disk space + run: | + sudo apt-get remove 'dotnet-*' azure-cli || true + sudo rm -rf /usr/local/lib/android/ || true + sudo docker image prune -a -f || true - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - uses: acryldata/sane-checkout-action@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: "pip" @@ -62,7 +67,7 @@ jobs: path: | ~/.cache/uv key: ${{ runner.os }}-uv-${{ hashFiles('**/requirements.txt') }} - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: "pip" diff --git a/.github/workflows/metadata-io.yml b/.github/workflows/metadata-io.yml index 6797c7ad67c0b6..e5e5f1dae5447d 100644 --- a/.github/workflows/metadata-io.yml +++ b/.github/workflows/metadata-io.yml @@ -47,14 +47,19 @@ jobs: timeout-minutes: 60 needs: setup steps: + - name: Free up disk space + run: | + sudo apt-get remove 'dotnet-*' azure-cli || true + sudo rm -rf /usr/local/lib/android/ || true + sudo docker image prune -a -f || true - uses: acryldata/sane-checkout-action@v3 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 if: ${{ needs.setup.outputs.ingestion_change == 'true' }} with: python-version: "3.10" diff --git a/.github/workflows/metadata-model.yml b/.github/workflows/metadata-model.yml index 558b7c80f727c1..632e6ac35d673e 100644 --- a/.github/workflows/metadata-model.yml +++ b/.github/workflows/metadata-model.yml @@ -30,13 +30,13 @@ jobs: needs: setup steps: - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - uses: acryldata/sane-checkout-action@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" cache: "pip" @@ -49,7 +49,7 @@ jobs: run: ./gradlew :metadata-ingestion:modelDocGen - name: Configure AWS Credentials if: ${{ needs.setup.outputs.publish == 'true' }} - uses: aws-actions/configure-aws-credentials@v3 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.ACRYL_CI_ARTIFACTS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.ACRYL_CI_ARTIFACTS_ACCESS_KEY }} diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml index 77874abedaabd0..a3d1b85df08188 100644 --- a/.github/workflows/pr-labeler.yml +++ b/.github/workflows/pr-labeler.yml @@ -30,14 +30,13 @@ jobs: "treff7es", "yoonhyejin", "eboneil", - "ethan-cartwright", "gabe-lyons", "hsheth2", "jjoyce0510", "maggiehays", - "mrjefflewis", "pedro93", "RyanHolstien", + "sakethvarma397", "Kunal-kankriya", "purnimagarg1", "dushayntAW", @@ -45,7 +44,8 @@ jobs: "kushagra-apptware", "Salman-Apptware", "mayurinehate", - "noggi" + "noggi", + "skrydal" ]'), github.actor ) @@ -60,7 +60,6 @@ jobs: ${{ contains( fromJson('[ - "skrydal", "siladitya2", "sgomezvillamor", "ngamanda", diff --git a/.github/workflows/prefect-plugin.yml b/.github/workflows/prefect-plugin.yml new file mode 100644 index 00000000000000..09af0ad3f354a3 --- /dev/null +++ b/.github/workflows/prefect-plugin.yml @@ -0,0 +1,86 @@ +name: Prefect Plugin +on: + push: + branches: + - master + paths: + - ".github/workflows/prefect-plugin.yml" + - "metadata-ingestion-modules/prefect-plugin/**" + - "metadata-ingestion/**" + - "metadata-models/**" + pull_request: + branches: + - "**" + paths: + - ".github/workflows/prefect-plugin.yml" + - "metadata-ingestion-modules/prefect-plugin/**" + - "metadata-ingestion/**" + - "metadata-models/**" + release: + types: [published] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + prefect-plugin: + runs-on: ubuntu-latest + env: + SPARK_VERSION: 3.0.3 + DATAHUB_TELEMETRY_ENABLED: false + strategy: + matrix: + python-version: ["3.8", "3.9", "3.10"] + include: + - python-version: "3.8" + - python-version: "3.9" + - python-version: "3.10" + fail-fast: false + steps: + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + distribution: "zulu" + java-version: 17 + - uses: gradle/gradle-build-action@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: "pip" + - name: Install dependencies + run: ./metadata-ingestion/scripts/install_deps.sh + - name: Install prefect package + run: ./gradlew :metadata-ingestion-modules:prefect-plugin:lint :metadata-ingestion-modules:prefect-plugin:testQuick + - name: pip freeze show list installed + if: always() + run: source metadata-ingestion-modules/prefect-plugin/venv/bin/activate && pip freeze + - uses: actions/upload-artifact@v3 + if: ${{ always() && matrix.python-version == '3.10'}} + with: + name: Test Results (Prefect Plugin ${{ matrix.python-version}}) + path: | + **/build/reports/tests/test/** + **/build/test-results/test/** + **/junit.*.xml + !**/binary/** + - name: Upload coverage to Codecov + if: always() + uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + directory: . + fail_ci_if_error: false + flags: prefect,prefect-${{ matrix.extra_pip_extras }} + name: pytest-prefect-${{ matrix.python-version }} + verbose: true + + event-file: + runs-on: ubuntu-latest + steps: + - name: Upload + uses: actions/upload-artifact@v3 + with: + name: Event File + path: ${{ github.event_path }} diff --git a/.github/workflows/publish-datahub-jars.yml b/.github/workflows/publish-datahub-jars.yml index 7137302c73564c..eb57c29e151ae6 100644 --- a/.github/workflows/publish-datahub-jars.yml +++ b/.github/workflows/publish-datahub-jars.yml @@ -45,17 +45,20 @@ jobs: echo "tag=$TAG" >> $GITHUB_OUTPUT publish: runs-on: ubuntu-latest + permissions: + id-token: write + contents: read needs: ["check-secret", "setup"] if: ${{ needs.check-secret.outputs.publish-enabled == 'true' }} steps: - uses: acryldata/sane-checkout-action@v3 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" cache: "pip" diff --git a/.github/workflows/spark-smoke-test.yml b/.github/workflows/spark-smoke-test.yml index 8ffc8420ba9413..23413336404f2b 100644 --- a/.github/workflows/spark-smoke-test.yml +++ b/.github/workflows/spark-smoke-test.yml @@ -31,12 +31,12 @@ jobs: steps: - uses: acryldata/sane-checkout-action@v3 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "zulu" java-version: 17 - uses: gradle/actions/setup-gradle@v3 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: "3.10" cache: "pip" @@ -44,8 +44,11 @@ jobs: run: ./metadata-ingestion/scripts/install_deps.sh - name: Disk Check run: df -h . && docker images - - name: Remove images - run: docker image prune -a -f || true + - name: Free up disk space + run: | + sudo apt-get remove 'dotnet-*' azure-cli || true + sudo rm -rf /usr/local/lib/android/ || true + sudo docker image prune -a -f || true - name: Disk Check run: df -h . && docker images - name: Smoke test diff --git a/.github/workflows/test-results.yml b/.github/workflows/test-results.yml index c94a5fc340f473..23a80aab8082a5 100644 --- a/.github/workflows/test-results.yml +++ b/.github/workflows/test-results.yml @@ -2,7 +2,7 @@ name: Test Results on: workflow_run: - workflows: ["build & test", "metadata ingestion", "Airflow Plugin", "Dagster Plugin"] + workflows: ["build & test", "metadata ingestion", "Airflow Plugin", "Dagster Plugin", "Prefect Plugin", "GX Plugin"] types: - completed @@ -10,6 +10,11 @@ jobs: unit-test-results: name: Unit Test Results runs-on: ubuntu-latest + permissions: + contents: read + actions: read + checks: write + issues: read if: github.event.workflow_run.conclusion != 'skipped' steps: diff --git a/README.md b/README.md index b3c2e2d5459410..1089c4dbc055c4 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,10 @@ We welcome contributions from the community. Please refer to our [Contributing G Join our [Slack workspace](https://datahubproject.io/slack?utm_source=github&utm_medium=readme&utm_campaign=github_readme) for discussions and important announcements. You can also find out more about our upcoming [town hall meetings](docs/townhalls.md) and view past recordings. +## Security + +See [Security Stance](docs/SECURITY_STANCE.md) for information on DataHub's Security. + ## Adoption Here are the companies that have officially adopted DataHub. Please feel free to add yours to the list if we missed it. @@ -129,6 +133,7 @@ Here are the companies that have officially adopted DataHub. Please feel free to - [Haibo Technology](https://www.botech.com.cn) - [hipages](https://hipages.com.au/) - [inovex](https://www.inovex.de/) +- [Inter&Co](https://inter.co/) - [IOMED](https://iomed.health) - [Klarna](https://www.klarna.com) - [LinkedIn](http://linkedin.com) @@ -138,7 +143,7 @@ Here are the companies that have officially adopted DataHub. Please feel free to - [Peloton](https://www.onepeloton.com) - [PITS Global Data Recovery Services](https://www.pitsdatarecovery.net/) - [Razer](https://www.razer.com) -- [Saxo Bank](https://www.home.saxo) +- [Rippling](https://www.rippling.com/) - [Showroomprive](https://www.showroomprive.com/) - [SpotHero](https://spothero.com) - [Stash](https://www.stash.com) @@ -154,6 +159,7 @@ Here are the companies that have officially adopted DataHub. Please feel free to - [Zynga](https://www.zynga.com) + ## Select Articles & Talks - [DataHub Blog](https://blog.datahubproject.io/) diff --git a/build.gradle b/build.gradle index adb45705c0ebd0..fbced335ddc2e7 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,7 @@ buildscript { // Releases: https://github.com/linkedin/rest.li/blob/master/CHANGELOG.md ext.pegasusVersion = '29.57.0' ext.mavenVersion = '3.6.3' - ext.springVersion = '6.1.5' + ext.springVersion = '6.1.6' ext.springBootVersion = '3.2.6' ext.springKafkaVersion = '3.1.6' ext.openTelemetryVersion = '1.18.0' @@ -49,7 +49,7 @@ buildscript { ext.log4jVersion = '2.23.1' ext.slf4jVersion = '1.7.36' ext.logbackClassic = '1.4.14' - ext.hadoop3Version = '3.3.5' + ext.hadoop3Version = '3.3.6' ext.kafkaVersion = '5.5.15' ext.hazelcastVersion = '5.3.6' ext.ebeanVersion = '12.16.1' @@ -134,7 +134,7 @@ project.ext.externalDependency = [ 'elasticSearchRest': 'org.opensearch.client:opensearch-rest-high-level-client:' + elasticsearchVersion, 'elasticSearchJava': 'org.opensearch.client:opensearch-java:2.6.0', 'findbugsAnnotations': 'com.google.code.findbugs:annotations:3.0.1', - 'graphqlJava': 'com.graphql-java:graphql-java:21.3', + 'graphqlJava': 'com.graphql-java:graphql-java:21.5', 'graphqlJavaScalars': 'com.graphql-java:graphql-java-extended-scalars:21.0', 'gson': 'com.google.code.gson:gson:2.8.9', 'guice': 'com.google.inject:guice:7.0.0', diff --git a/datahub-frontend/app/auth/sso/oidc/OidcConfigs.java b/datahub-frontend/app/auth/sso/oidc/OidcConfigs.java index 753edaf89d988f..080ca236630bf3 100644 --- a/datahub-frontend/app/auth/sso/oidc/OidcConfigs.java +++ b/datahub-frontend/app/auth/sso/oidc/OidcConfigs.java @@ -41,6 +41,8 @@ public class OidcConfigs extends SsoConfigs { public static final String OIDC_EXTRACT_JWT_ACCESS_TOKEN_CLAIMS = "auth.oidc.extractJwtAccessTokenClaims"; public static final String OIDC_PREFERRED_JWS_ALGORITHM = "auth.oidc.preferredJwsAlgorithm"; + public static final String OIDC_GRANT_TYPE = "auth.oidc.grantType"; + public static final String OIDC_ACR_VALUES = "auth.oidc.acrValues"; /** Default values */ private static final String DEFAULT_OIDC_USERNAME_CLAIM = "email"; @@ -75,7 +77,9 @@ public class OidcConfigs extends SsoConfigs { private final Optional customParamResource; private final String readTimeout; private final Optional extractJwtAccessTokenClaims; - private Optional preferredJwsAlgorithm; + private final Optional preferredJwsAlgorithm; + private final Optional grantType; + private final Optional acrValues; public OidcConfigs(Builder builder) { super(builder); @@ -98,6 +102,8 @@ public OidcConfigs(Builder builder) { this.readTimeout = builder.readTimeout; this.extractJwtAccessTokenClaims = builder.extractJwtAccessTokenClaims; this.preferredJwsAlgorithm = builder.preferredJwsAlgorithm; + this.acrValues = builder.acrValues; + this.grantType = builder.grantType; } public static class Builder extends SsoConfigs.Builder { @@ -123,6 +129,8 @@ public static class Builder extends SsoConfigs.Builder { private String readTimeout = DEFAULT_OIDC_READ_TIMEOUT; private Optional extractJwtAccessTokenClaims = Optional.empty(); private Optional preferredJwsAlgorithm = Optional.empty(); + private Optional grantType = Optional.empty(); + private Optional acrValues = Optional.empty(); public Builder from(final com.typesafe.config.Config configs) { super.from(configs); @@ -169,6 +177,8 @@ public Builder from(final com.typesafe.config.Config configs) { getOptional(configs, OIDC_EXTRACT_JWT_ACCESS_TOKEN_CLAIMS).map(Boolean::parseBoolean); preferredJwsAlgorithm = Optional.ofNullable(getOptional(configs, OIDC_PREFERRED_JWS_ALGORITHM, null)); + grantType = Optional.ofNullable(getOptional(configs, OIDC_GRANT_TYPE, null)); + acrValues = Optional.ofNullable(getOptional(configs, OIDC_ACR_VALUES, null)); return this; } diff --git a/datahub-frontend/app/auth/sso/oidc/OidcProvider.java b/datahub-frontend/app/auth/sso/oidc/OidcProvider.java index 39a65a46cbf919..a8a3205e8299c8 100644 --- a/datahub-frontend/app/auth/sso/oidc/OidcProvider.java +++ b/datahub-frontend/app/auth/sso/oidc/OidcProvider.java @@ -3,6 +3,8 @@ import auth.sso.SsoProvider; import auth.sso.oidc.custom.CustomOidcClient; import com.google.common.collect.ImmutableMap; +import java.util.HashMap; +import java.util.Map; import lombok.extern.slf4j.Slf4j; import org.pac4j.core.client.Client; import org.pac4j.core.http.callback.PathParameterCallbackUrlResolver; @@ -64,9 +66,19 @@ private Client createPac4jClient() { _oidcConfigs.getResponseType().ifPresent(oidcConfiguration::setResponseType); _oidcConfigs.getResponseMode().ifPresent(oidcConfiguration::setResponseMode); _oidcConfigs.getUseNonce().ifPresent(oidcConfiguration::setUseNonce); + Map customParamsMap = new HashMap<>(); _oidcConfigs .getCustomParamResource() - .ifPresent(value -> oidcConfiguration.setCustomParams(ImmutableMap.of("resource", value))); + .ifPresent(value -> customParamsMap.put("resource", value)); + _oidcConfigs + .getGrantType() + .ifPresent(value -> customParamsMap.put("grant_type", value)); + _oidcConfigs + .getAcrValues() + .ifPresent(value -> customParamsMap.put("acr_values", value)); + if (!customParamsMap.isEmpty()) { + oidcConfiguration.setCustomParams(customParamsMap); + } _oidcConfigs .getPreferredJwsAlgorithm() .ifPresent( diff --git a/datahub-frontend/app/client/KafkaTrackingProducer.java b/datahub-frontend/app/client/KafkaTrackingProducer.java index b7173684b63500..058e75100c24ac 100644 --- a/datahub-frontend/app/client/KafkaTrackingProducer.java +++ b/datahub-frontend/app/client/KafkaTrackingProducer.java @@ -1,5 +1,6 @@ package client; +import com.linkedin.metadata.config.kafka.KafkaConfiguration; import com.linkedin.metadata.config.kafka.ProducerConfiguration; import com.typesafe.config.Config; import config.ConfigurationProvider; @@ -46,7 +47,7 @@ public KafkaTrackingProducer( if (_isEnabled) { _logger.debug("Analytics tracking is enabled"); - _producer = createKafkaProducer(config, configurationProvider.getKafka().getProducer()); + _producer = createKafkaProducer(config, configurationProvider.getKafka()); lifecycle.addStopHook( () -> { @@ -69,7 +70,8 @@ public void send(ProducerRecord record) { } private static KafkaProducer createKafkaProducer( - Config config, ProducerConfiguration producerConfiguration) { + Config config, KafkaConfiguration kafkaConfiguration) { + final ProducerConfiguration producerConfiguration = kafkaConfiguration.getProducer(); final Properties props = new Properties(); props.put(ProducerConfig.CLIENT_ID_CONFIG, "datahub-frontend"); props.put( @@ -78,12 +80,9 @@ private static KafkaProducer createKafkaProducer( props.put( ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, config.getString("analytics.kafka.bootstrap.server")); - props.put( - ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, - "org.apache.kafka.common.serialization.StringSerializer"); // Actor urn. - props.put( - ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, - "org.apache.kafka.common.serialization.StringSerializer"); // JSON object. + // key: Actor urn. + // value: JSON object. + props.putAll(kafkaConfiguration.getSerde().getUsageEvent().getProducerProperties(null)); props.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, producerConfiguration.getMaxRequestSize()); props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, producerConfiguration.getCompressionType()); diff --git a/datahub-frontend/app/controllers/Application.java b/datahub-frontend/app/controllers/Application.java index d17e600aadc072..017847367de053 100644 --- a/datahub-frontend/app/controllers/Application.java +++ b/datahub-frontend/app/controllers/Application.java @@ -9,12 +9,15 @@ import akka.util.ByteString; import auth.Authenticator; import com.datahub.authentication.AuthenticationConstants; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import com.linkedin.util.Pair; import com.typesafe.config.Config; import java.io.InputStream; import java.net.URI; import java.time.Duration; +import java.time.Instant; import java.util.List; import java.util.Map; import java.util.Optional; @@ -33,6 +36,7 @@ import play.libs.ws.StandaloneWSClient; import play.libs.ws.ahc.StandaloneAhcWSClient; import play.mvc.Controller; +import play.mvc.Http.Cookie; import play.mvc.Http; import play.mvc.ResponseHeader; import play.mvc.Result; @@ -132,6 +136,9 @@ public CompletableFuture proxy(String path, Http.Request request) headers.put(Http.HeaderNames.X_FORWARDED_PROTO, List.of(schema)); } + // Get the current time to measure the duration of the request + Instant start = Instant.now(); + return _ws.url( String.format( "%s://%s:%s%s", protocol, metadataServiceHost, metadataServicePort, resolvedUri)) @@ -160,6 +167,15 @@ AuthenticationConstants.LEGACY_X_DATAHUB_ACTOR_HEADER, getDataHubActorHeader(req .execute() .thenApply( apiResponse -> { + // Log the query if it takes longer than the configured threshold and verbose logging is enabled + boolean verboseGraphQLLogging = _config.getBoolean("graphql.verbose.logging"); + int verboseGraphQLLongQueryMillis = _config.getInt("graphql.verbose.slowQueryMillis"); + Instant finish = Instant.now(); + long timeElapsed = Duration.between(start, finish).toMillis(); + if (verboseGraphQLLogging && timeElapsed >= verboseGraphQLLongQueryMillis) { + logSlowQuery(request, resolvedUri, timeElapsed); + } + final ResponseHeader header = new ResponseHeader( apiResponse.getStatus(), @@ -359,4 +375,34 @@ private String mapPath(@Nonnull final String path) { // Otherwise, return original path return path; } + + + /** + * Called if verbose logging is enabled and request takes longer that the slow query milliseconds defined in the config + * @param request GraphQL request that was made + * @param resolvedUri URI that was requested + * @param duration How long the query took to complete + */ + private void logSlowQuery(Http.Request request, String resolvedUri, float duration) { + StringBuilder jsonBody = new StringBuilder(); + Optional actorCookie = request.getCookie("actor"); + String actorValue = actorCookie.isPresent() ? actorCookie.get().value() : "N/A"; + + try { + ObjectMapper mapper = new ObjectMapper(); + JsonNode jsonNode = request.body().asJson(); + ((ObjectNode) jsonNode).remove("query"); + jsonBody.append(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode)); + } + catch (Exception e) { + _logger.info("GraphQL Request Received: {}, Unable to parse JSON body", resolvedUri); + } + String jsonBodyStr = jsonBody.toString(); + _logger.info("Slow GraphQL Request Received: {}, Request query string: {}, Request actor: {}, Request JSON: {}, Request completed in {} ms", + resolvedUri, + request.queryString(), + actorValue, + jsonBodyStr, + duration); + } } diff --git a/datahub-frontend/app/controllers/SsoCallbackController.java b/datahub-frontend/app/controllers/SsoCallbackController.java index 5e30bf976b8196..750886570bf406 100644 --- a/datahub-frontend/app/controllers/SsoCallbackController.java +++ b/datahub-frontend/app/controllers/SsoCallbackController.java @@ -66,7 +66,8 @@ public SsoCallbackController( public CompletionStage handleCallback(String protocol, Http.Request request) { if (shouldHandleCallback(protocol)) { - log.debug(String.format("Handling SSO callback. Protocol: %s", protocol)); + log.debug("Handling SSO callback. Protocol: {}", + _ssoManager.getSsoProvider().protocol().getCommonName()); return callback(request) .handle( (res, e) -> { diff --git a/datahub-frontend/app/utils/SearchUtil.java b/datahub-frontend/app/utils/SearchUtil.java index 803c70a63646a0..cfbf11c2ffa85a 100644 --- a/datahub-frontend/app/utils/SearchUtil.java +++ b/datahub-frontend/app/utils/SearchUtil.java @@ -20,7 +20,7 @@ private SearchUtil() { @Nonnull public static String escapeForwardSlash(@Nonnull String input) { if (input.contains("/")) { - input = input.replace("/", "\\\\/"); + input = input.replace("/", "\\/"); } return input; } diff --git a/datahub-frontend/conf/application.conf b/datahub-frontend/conf/application.conf index dc243ecadafd82..be57a33b13564d 100644 --- a/datahub-frontend/conf/application.conf +++ b/datahub-frontend/conf/application.conf @@ -186,6 +186,8 @@ auth.oidc.customParam.resource = ${?AUTH_OIDC_CUSTOM_PARAM_RESOURCE} auth.oidc.readTimeout = ${?AUTH_OIDC_READ_TIMEOUT} auth.oidc.extractJwtAccessTokenClaims = ${?AUTH_OIDC_EXTRACT_JWT_ACCESS_TOKEN_CLAIMS} # Whether to extract claims from JWT access token. Defaults to false. auth.oidc.preferredJwsAlgorithm = ${?AUTH_OIDC_PREFERRED_JWS_ALGORITHM} # Which jws algorithm to use +auth.oidc.acrValues = ${?AUTH_OIDC_ACR_VALUES} +auth.oidc.grantType = ${?AUTH_OIDC_GRANT_TYPE} # # By default, the callback URL that should be registered with the identity provider is computed as {$baseUrl}/callback/oidc. @@ -296,4 +298,10 @@ entityClient.numRetries = ${?ENTITY_CLIENT_NUM_RETRIES} entityClient.restli.get.batchSize = 50 entityClient.restli.get.batchSize = ${?ENTITY_CLIENT_RESTLI_GET_BATCH_SIZE} entityClient.restli.get.batchConcurrency = 2 -entityClient.restli.get.batchConcurrency = ${?ENTITY_CLIENT_RESTLI_GET_BATCH_CONCURRENCY} \ No newline at end of file +entityClient.restli.get.batchConcurrency = ${?ENTITY_CLIENT_RESTLI_GET_BATCH_CONCURRENCY} + +# Enable verbose authentication logging +graphql.verbose.logging = false +graphql.verbose.logging = ${?GRAPHQL_VERBOSE_LOGGING} +graphql.verbose.slowQueryMillis = 2500 +graphql.verbose.slowQueryMillis = ${?GRAPHQL_VERBOSE_LONG_QUERY_MILLIS} \ No newline at end of file diff --git a/datahub-frontend/test/utils/SearchUtilTest.java b/datahub-frontend/test/utils/SearchUtilTest.java index 6767fa56374692..2efc4420c7f766 100644 --- a/datahub-frontend/test/utils/SearchUtilTest.java +++ b/datahub-frontend/test/utils/SearchUtilTest.java @@ -8,10 +8,10 @@ public class SearchUtilTest { @Test public void testEscapeForwardSlash() { // escape "/" - assertEquals("\\\\/foo\\\\/bar", SearchUtil.escapeForwardSlash("/foo/bar")); + assertEquals("\\/foo\\/bar", SearchUtil.escapeForwardSlash("/foo/bar")); // "/" is escaped but "*" is not escaped and is treated as regex. Since currently we want to // retain the regex behaviour with "*" - assertEquals("\\\\/foo\\\\/bar\\\\/*", SearchUtil.escapeForwardSlash("/foo/bar/*")); + assertEquals("\\/foo\\/bar\\/*", SearchUtil.escapeForwardSlash("/foo/bar/*")); assertEquals("", ""); assertEquals("foo", "foo"); } diff --git a/datahub-graphql-core/build.gradle b/datahub-graphql-core/build.gradle index de264ce31b719b..49a7fa7fbfbc2f 100644 --- a/datahub-graphql-core/build.gradle +++ b/datahub-graphql-core/build.gradle @@ -22,6 +22,7 @@ dependencies { implementation externalDependency.opentelemetryAnnotations implementation externalDependency.slf4jApi + implementation externalDependency.springContext compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/Constants.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/Constants.java index f70c46ba943a5a..69306862a46ef7 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/Constants.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/Constants.java @@ -24,6 +24,7 @@ private Constants() {} public static final String PROPERTIES_SCHEMA_FILE = "properties.graphql"; public static final String FORMS_SCHEMA_FILE = "forms.graphql"; public static final String ASSERTIONS_SCHEMA_FILE = "assertions.graphql"; + public static final String COMMON_SCHEMA_FILE = "common.graphql"; public static final String INCIDENTS_SCHEMA_FILE = "incident.graphql"; public static final String CONTRACTS_SCHEMA_FILE = "contract.graphql"; public static final String CONNECTIONS_SCHEMA_FILE = "connection.graphql"; diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GmsGraphQLEngine.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GmsGraphQLEngine.java index b751849859be47..de77ff9444c6e7 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GmsGraphQLEngine.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GmsGraphQLEngine.java @@ -96,6 +96,7 @@ import com.linkedin.datahub.graphql.generated.MLPrimaryKey; import com.linkedin.datahub.graphql.generated.MLPrimaryKeyProperties; import com.linkedin.datahub.graphql.generated.MatchedField; +import com.linkedin.datahub.graphql.generated.MetadataAttribution; import com.linkedin.datahub.graphql.generated.Notebook; import com.linkedin.datahub.graphql.generated.Owner; import com.linkedin.datahub.graphql.generated.OwnershipTypeEntity; @@ -284,6 +285,8 @@ import com.linkedin.datahub.graphql.resolvers.search.SearchAcrossEntitiesResolver; import com.linkedin.datahub.graphql.resolvers.search.SearchAcrossLineageResolver; import com.linkedin.datahub.graphql.resolvers.search.SearchResolver; +import com.linkedin.datahub.graphql.resolvers.settings.docPropagation.DocPropagationSettingsResolver; +import com.linkedin.datahub.graphql.resolvers.settings.docPropagation.UpdateDocPropagationSettingsResolver; import com.linkedin.datahub.graphql.resolvers.settings.user.UpdateCorpUserViewsSettingsResolver; import com.linkedin.datahub.graphql.resolvers.settings.view.GlobalViewsSettingsResolver; import com.linkedin.datahub.graphql.resolvers.settings.view.UpdateGlobalViewsSettingsResolver; @@ -695,7 +698,8 @@ public GmsGraphQLEngine(final GmsGraphQLEngineArgs args) { businessAttributeType)); this.loadableTypes = new ArrayList<>(entityTypes); // Extend loadable types with types from the plugins - // This allows us to offer search and browse capabilities out of the box for those types + // This allows us to offer search and browse capabilities out of the box for + // those types for (GmsGraphQLPlugin plugin : this.graphQLPlugins) { this.entityTypes.addAll(plugin.getEntityTypes()); Collection> pluginLoadableTypes = plugin.getLoadableTypes(); @@ -720,7 +724,7 @@ public GmsGraphQLEngine(final GmsGraphQLEngineArgs args) { * Returns a {@link Supplier} responsible for creating a new {@link DataLoader} from a {@link * LoadableType}. */ - public Map>> loaderSuppliers( + public static Map>> loaderSuppliers( final Collection> loadableTypes) { return loadableTypes.stream() .collect( @@ -790,6 +794,7 @@ public void configureRuntimeWiring(final RuntimeWiring.Builder builder) { configureBusinessAttributeAssociationResolver(builder); configureConnectionResolvers(builder); configureDeprecationResolvers(builder); + configureMetadataAttributionResolver(builder); } private void configureOrganisationRoleResolvers(RuntimeWiring.Builder builder) { @@ -843,7 +848,8 @@ public GraphQLEngine.Builder builder() { .addSchema(fileBasedSchema(CONNECTIONS_SCHEMA_FILE)) .addSchema(fileBasedSchema(ASSERTIONS_SCHEMA_FILE)) .addSchema(fileBasedSchema(INCIDENTS_SCHEMA_FILE)) - .addSchema(fileBasedSchema(CONTRACTS_SCHEMA_FILE)); + .addSchema(fileBasedSchema(CONTRACTS_SCHEMA_FILE)) + .addSchema(fileBasedSchema(COMMON_SCHEMA_FILE)); for (GmsGraphQLPlugin plugin : this.graphQLPlugins) { List pluginSchemaFiles = plugin.getSchemaFiles(); @@ -1026,6 +1032,8 @@ private void configureQueryResolvers(final RuntimeWiring.Builder builder) { .dataFetcher("mlModel", getResolver(mlModelType)) .dataFetcher("mlModelGroup", getResolver(mlModelGroupType)) .dataFetcher("assertion", getResolver(assertionType)) + .dataFetcher("form", getResolver(formType)) + .dataFetcher("view", getResolver(dataHubViewType)) .dataFetcher("listPolicies", new ListPoliciesResolver(this.entityClient)) .dataFetcher("getGrantedPrivileges", new GetGrantedPrivilegesResolver()) .dataFetcher("listUsers", new ListUsersResolver(this.entityClient)) @@ -1087,8 +1095,10 @@ private void configureQueryResolvers(final RuntimeWiring.Builder builder) { new BrowseV2Resolver(this.entityClient, this.viewService, this.formService)) .dataFetcher("businessAttribute", getResolver(businessAttributeType)) .dataFetcher( - "listBusinessAttributes", - new ListBusinessAttributesResolver(this.entityClient))); + "listBusinessAttributes", new ListBusinessAttributesResolver(this.entityClient)) + .dataFetcher( + "docPropagationSettings", + new DocPropagationSettingsResolver(this.settingsService))); } private DataFetcher getEntitiesResolver() { @@ -1125,16 +1135,16 @@ private DataFetcher getEntityResolver() { }); } - private DataFetcher getResolver(LoadableType loadableType) { - return getResolver(loadableType, this::getUrnField); + private static DataFetcher getResolver(LoadableType loadableType) { + return getResolver(loadableType, GmsGraphQLEngine::getUrnField); } - private DataFetcher getResolver( + private static DataFetcher getResolver( LoadableType loadableType, Function keyProvider) { return new LoadableTypeResolver<>(loadableType, keyProvider); } - private String getUrnField(DataFetchingEnvironment env) { + private static String getUrnField(DataFetchingEnvironment env) { return env.getArgument(URN_FIELD_NAME); } @@ -1340,7 +1350,11 @@ private void configureMutationResolvers(final RuntimeWiring.Builder builder) { .dataFetcher( "createForm", new CreateFormResolver(this.entityClient, this.formService)) .dataFetcher("deleteForm", new DeleteFormResolver(this.entityClient)) - .dataFetcher("updateForm", new UpdateFormResolver(this.entityClient)); + .dataFetcher("updateForm", new UpdateFormResolver(this.entityClient)) + .dataFetcher( + "updateDocPropagationSettings", + new UpdateDocPropagationSettingsResolver(this.settingsService)); + if (featureFlags.isBusinessAttributeEntityEnabled()) { typeWiring .dataFetcher( @@ -1869,7 +1883,9 @@ private void configureCorpGroupResolvers(final RuntimeWiring.Builder builder) { "CorpGroup", typeWiring -> typeWiring - .dataFetcher("relationships", new EntityRelationshipsResultResolver(graphClient)) + .dataFetcher( + "relationships", + new EntityRelationshipsResultResolver(graphClient, entityService)) .dataFetcher("privileges", new EntityPrivilegesResolver(entityClient)) .dataFetcher( "aspects", new WeaklyTypedAspectsResolver(entityClient, entityRegistry)) @@ -2712,9 +2728,11 @@ private void configureFormResolvers(final RuntimeWiring.Builder builder) { corpUserType, (env) -> { final FormActorAssignment actors = env.getSource(); - return actors.getUsers().stream() - .map(CorpUser::getUrn) - .collect(Collectors.toList()); + return actors.getUsers() != null + ? actors.getUsers().stream() + .map(CorpUser::getUrn) + .collect(Collectors.toList()) + : null; })) .dataFetcher( "groups", @@ -2722,9 +2740,11 @@ private void configureFormResolvers(final RuntimeWiring.Builder builder) { corpGroupType, (env) -> { final FormActorAssignment actors = env.getSource(); - return actors.getGroups().stream() - .map(CorpGroup::getUrn) - .collect(Collectors.toList()); + return actors.getGroups() != null + ? actors.getGroups().stream() + .map(CorpGroup::getUrn) + .collect(Collectors.toList()) + : null; })) .dataFetcher("isAssignedToMe", new IsFormAssignedToMeResolver(groupService))); } @@ -2821,7 +2841,8 @@ private void configureContractResolvers(final RuntimeWiring.Builder builder) { } private void configurePolicyResolvers(final RuntimeWiring.Builder builder) { - // Register resolvers for "resolvedUsers" and "resolvedGroups" field of the Policy type. + // Register resolvers for "resolvedUsers" and "resolvedGroups" field of the + // Policy type. builder.type( "ActorFilter", typeWiring -> @@ -3004,7 +3025,7 @@ private void configureTestResultResolvers(final RuntimeWiring.Builder builder) { }))); } - private DataLoader> createDataLoader( + private static DataLoader> createDataLoader( final LoadableType graphType, final QueryContext queryContext) { BatchLoaderContextProvider contextProvider = () -> queryContext; DataLoaderOptions loaderOptions = @@ -3174,4 +3195,20 @@ private void configureDeprecationResolvers(final RuntimeWiring.Builder builder) new EntityTypeResolver( entityTypes, (env) -> ((Deprecation) env.getSource()).getActorEntity()))); } + + private void configureMetadataAttributionResolver(final RuntimeWiring.Builder builder) { + builder.type( + "MetadataAttribution", + typeWiring -> + typeWiring + .dataFetcher( + "actor", + new EntityTypeResolver( + entityTypes, (env) -> ((MetadataAttribution) env.getSource()).getActor())) + .dataFetcher( + "source", + new EntityTypeResolver( + entityTypes, + (env) -> ((MetadataAttribution) env.getSource()).getSource()))); + } } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GraphQLEngine.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GraphQLEngine.java index dd8eabd3ce06fd..97e282c106a9a2 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GraphQLEngine.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/GraphQLEngine.java @@ -28,7 +28,6 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.dataloader.DataLoader; -import org.dataloader.DataLoaderRegistry; /** * Simple wrapper around a {@link GraphQL} instance providing APIs for building an engine and @@ -100,7 +99,7 @@ public ExecutionResult execute( /* * Init DataLoaderRegistry - should be created for each request. */ - DataLoaderRegistry register = createDataLoaderRegistry(_dataLoaderSuppliers, context); + LazyDataLoaderRegistry register = new LazyDataLoaderRegistry(context, _dataLoaderSuppliers); /* * Construct execution input @@ -218,14 +217,4 @@ public GraphQLEngine build() { graphQLQueryIntrospectionEnabled); } } - - private DataLoaderRegistry createDataLoaderRegistry( - final Map>> dataLoaderSuppliers, - final QueryContext context) { - final DataLoaderRegistry registry = new DataLoaderRegistry(); - for (String key : dataLoaderSuppliers.keySet()) { - registry.register(key, dataLoaderSuppliers.get(key).apply(context)); - } - return registry; - } } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/LazyDataLoaderRegistry.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/LazyDataLoaderRegistry.java new file mode 100644 index 00000000000000..1a1d2d5f71f336 --- /dev/null +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/LazyDataLoaderRegistry.java @@ -0,0 +1,53 @@ +package com.linkedin.datahub.graphql; + +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import lombok.extern.slf4j.Slf4j; +import org.dataloader.DataLoader; +import org.dataloader.DataLoaderRegistry; + +/** + * The purpose of this class is to avoid loading 42+ dataLoaders when many of the graphql queries do + * not use all of them. + */ +@Slf4j +public class LazyDataLoaderRegistry extends DataLoaderRegistry { + private final QueryContext queryContext; + private final Map>> dataLoaderSuppliers; + + public LazyDataLoaderRegistry( + QueryContext queryContext, + Map>> dataLoaderSuppliers) { + super(); + this.queryContext = queryContext; + this.dataLoaderSuppliers = new ConcurrentHashMap<>(dataLoaderSuppliers); + } + + @Override + public DataLoader getDataLoader(String key) { + return super.computeIfAbsent( + key, + k -> { + Function> supplier = dataLoaderSuppliers.get(key); + if (supplier == null) { + throw new IllegalArgumentException("No DataLoader registered for key: " + key); + } + return supplier.apply(queryContext); + }); + } + + @Override + public Set getKeys() { + return Stream.concat(dataLoaders.keySet().stream(), dataLoaderSuppliers.keySet().stream()) + .collect(Collectors.toSet()); + } + + @Override + public DataLoaderRegistry combine(DataLoaderRegistry registry) { + throw new UnsupportedOperationException(); + } +} diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/QueryContext.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/QueryContext.java index 7dffd90cf2d7cc..5ad82b5d703757 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/QueryContext.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/QueryContext.java @@ -3,6 +3,7 @@ import com.datahub.authentication.Actor; import com.datahub.authentication.Authentication; import com.datahub.plugins.auth.authorization.Authorizer; +import com.linkedin.metadata.config.DataHubAppConfiguration; import io.datahubproject.metadata.context.OperationContext; /** Provided as input to GraphQL resolvers; used to carry information about GQL request context. */ @@ -31,4 +32,6 @@ default String getActorUrn() { * @return Returns the operational context */ OperationContext getOperationContext(); + + DataHubAppConfiguration getDataHubAppConfig(); } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetChartsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetChartsResolver.java index 767c9b4d4e71bc..4847aea224ccd6 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetChartsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetChartsResolver.java @@ -159,9 +159,10 @@ private SearchResult searchForNewUsers(@Nonnull final OperationContext opContext .setValue( String.valueOf( trailingMonthDateRange.getStart())))))))), - new SortCriterion() - .setField(CORP_USER_STATUS_LAST_MODIFIED_FIELD_NAME) - .setOrder(SortOrder.DESCENDING), + Collections.singletonList( + new SortCriterion() + .setField(CORP_USER_STATUS_LAST_MODIFIED_FIELD_NAME) + .setOrder(SortOrder.DESCENDING)), 0, 100); } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetMetadataAnalyticsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetMetadataAnalyticsResolver.java index 01f2e6c8462e39..6045b1e726c7a5 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetMetadataAnalyticsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/analytics/resolver/GetMetadataAnalyticsResolver.java @@ -77,7 +77,8 @@ private List getCharts(MetadataAnalyticsInput input, OperationCo } SearchResult searchResult = - _entityClient.searchAcrossEntities(opContext, entities, query, filter, 0, 0, null, null); + _entityClient.searchAcrossEntities( + opContext, entities, query, filter, 0, 0, Collections.emptyList(), null); List aggregationMetadataList = searchResult.getMetadata().getAggregations(); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/authorization/AuthorizationUtils.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/authorization/AuthorizationUtils.java index b9b4e4f4ef292b..4fb49d79a0aa70 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/authorization/AuthorizationUtils.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/authorization/AuthorizationUtils.java @@ -398,6 +398,11 @@ public static boolean canManageForms(@Nonnull QueryContext context) { PoliciesConfig.MANAGE_DOCUMENTATION_FORMS_PRIVILEGE); } + public static boolean canManageFeatures(@Nonnull QueryContext context) { + return AuthUtil.isAuthorized( + context.getAuthorizer(), context.getActorUrn(), PoliciesConfig.MANAGE_FEATURES_PRIVILEGE); + } + public static boolean isAuthorized( @Nonnull Authorizer authorizer, @Nonnull String actor, diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ResolverUtils.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ResolverUtils.java index 3617eb47259797..d34fd9f32d322e 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ResolverUtils.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ResolverUtils.java @@ -7,7 +7,6 @@ import com.fasterxml.jackson.core.StreamReadConstraints; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableSet; -import com.linkedin.common.urn.Urn; import com.linkedin.common.urn.UrnUtils; import com.linkedin.data.template.StringArray; import com.linkedin.datahub.graphql.QueryContext; @@ -23,7 +22,6 @@ import com.linkedin.metadata.query.filter.CriterionArray; import com.linkedin.metadata.query.filter.Filter; import com.linkedin.metadata.search.utils.ESUtils; -import com.linkedin.metadata.search.utils.QueryUtils; import com.linkedin.metadata.service.ViewService; import com.linkedin.view.DataHubViewInfo; import graphql.schema.DataFetchingEnvironment; @@ -72,7 +70,7 @@ public static T bindArgument(Object argument, Class clazz) { @Nonnull public static String escapeForwardSlash(@Nonnull String input) { if (input.contains("/")) { - input = input.replace("/", "\\\\/"); + input = input.replace("/", "\\/"); } return input; } @@ -222,27 +220,6 @@ private static String getFilterField( return ESUtils.toKeywordField(originalField, skipKeywordSuffix, aspectRetriever); } - public static Filter buildFilterWithUrns(@Nonnull Set urns, @Nullable Filter inputFilters) { - Criterion urnMatchCriterion = - new Criterion() - .setField("urn") - .setValue("") - .setValues( - new StringArray(urns.stream().map(Object::toString).collect(Collectors.toList()))); - if (inputFilters == null) { - return QueryUtils.newFilter(urnMatchCriterion); - } - - // Add urn match criterion to each or clause - if (inputFilters.getOr() != null && !inputFilters.getOr().isEmpty()) { - for (ConjunctiveCriterion conjunctiveCriterion : inputFilters.getOr()) { - conjunctiveCriterion.getAnd().add(urnMatchCriterion); - } - return inputFilters; - } - return QueryUtils.newFilter(urnMatchCriterion); - } - public static Filter viewFilter( OperationContext opContext, ViewService viewService, String viewUrn) { if (viewUrn == null) { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/assertion/UpsertCustomAssertionResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/assertion/UpsertCustomAssertionResolver.java index 026f486e32c116..29a9fff5e013a0 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/assertion/UpsertCustomAssertionResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/assertion/UpsertCustomAssertionResolver.java @@ -101,7 +101,7 @@ private CustomAssertionInfo createCustomAssertionInfo( if (input.getFieldPath() != null) { customAssertionInfo.setField( - SchemaFieldUtils.generateSchemaFieldUrn(entityUrn.toString(), input.getFieldPath())); + SchemaFieldUtils.generateSchemaFieldUrn(entityUrn, input.getFieldPath())); } return customAssertionInfo; } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/DebugAccessResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/DebugAccessResolver.java index 44604e92c35ded..8372b6b5126a3e 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/DebugAccessResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/DebugAccessResolver.java @@ -33,6 +33,7 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -181,7 +182,7 @@ private Set getPoliciesFor( Constants.POLICY_ENTITY_NAME, "", buildFilterToGetPolicies(user, groups, roles), - sortCriterion, + Collections.singletonList(sortCriterion), 0, 10000) .getEntities() diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolver.java index dc57ed3c673c16..e0ecebbbc7bc2e 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolver.java @@ -59,10 +59,11 @@ public CompletableFuture get(DataFetchingEnvironment envi if (AuthorizationUtils.canManageTokens(context) || isListingSelfTokens(filters, context)) { try { - final SortCriterion sortCriterion = - new SortCriterion() - .setField(EXPIRES_AT_FIELD_NAME) - .setOrder(SortOrder.DESCENDING); + final List sortCriteria = + Collections.singletonList( + new SortCriterion() + .setField(EXPIRES_AT_FIELD_NAME) + .setOrder(SortOrder.DESCENDING)); final SearchResult searchResult = _entityClient.search( context @@ -74,7 +75,7 @@ public CompletableFuture get(DataFetchingEnvironment envi filters, Collections.emptyList(), context.getOperationContext().getAspectRetriever()), - sortCriterion, + sortCriteria, start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/RevokeAccessTokenResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/RevokeAccessTokenResolver.java index 53ae6d4509e7df..eb152087699024 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/RevokeAccessTokenResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/auth/RevokeAccessTokenResolver.java @@ -41,7 +41,7 @@ public CompletableFuture get(DataFetchingEnvironment environment) throw final QueryContext context = environment.getContext(); final String tokenId = bindArgument(environment.getArgument("tokenId"), String.class); - log.info("User {} revoking access token {}", context.getActorUrn(), tokenId); + log.info("User {} revoking access token", context.getActorUrn()); if (isAuthorizedToRevokeToken(context, tokenId)) { try { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java index fb1672d54dc971..259d05c631557d 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/config/AppConfigResolver.java @@ -186,6 +186,7 @@ public CompletableFuture get(final DataFetchingEnvironment environmen .setNestedDomainsEnabled(_featureFlags.isNestedDomainsEnabled()) .setPlatformBrowseV2(_featureFlags.isPlatformBrowseV2()) .setDataContractsEnabled(_featureFlags.isDataContractsEnabled()) + .setEditableDatasetNameEnabled(_featureFlags.isEditableDatasetNameEnabled()) .setShowSeparateSiblings(_featureFlags.isShowSeparateSiblings()) .build(); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolver.java index 15927eef236cab..5a3207633c07c8 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolver.java @@ -19,6 +19,7 @@ import com.linkedin.metadata.query.filter.Filter; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; +import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; @@ -92,7 +93,7 @@ public CompletableFuture get(final DataFetchingEnvironment enviro new CriterionArray(ImmutableList.of(filterCriterion))))), start, count, - null, + Collections.emptyList(), null)); } catch (Exception e) { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/dataproduct/ListDataProductAssetsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/dataproduct/ListDataProductAssetsResolver.java index 320d89cdec164a..5c43fafb678c5c 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/dataproduct/ListDataProductAssetsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/dataproduct/ListDataProductAssetsResolver.java @@ -1,7 +1,7 @@ package com.linkedin.datahub.graphql.resolvers.dataproduct; import static com.linkedin.datahub.graphql.resolvers.ResolverUtils.bindArgument; -import static com.linkedin.datahub.graphql.resolvers.ResolverUtils.buildFilterWithUrns; +import static com.linkedin.metadata.search.utils.QueryUtils.buildFilterWithUrns; import com.google.common.collect.ImmutableList; import com.linkedin.common.urn.Urn; @@ -11,6 +11,8 @@ import com.linkedin.datahub.graphql.concurrency.GraphQLConcurrencyUtils; import com.linkedin.datahub.graphql.generated.DataProduct; import com.linkedin.datahub.graphql.generated.EntityType; +import com.linkedin.datahub.graphql.generated.ExtraProperty; +import com.linkedin.datahub.graphql.generated.FacetFilterInput; import com.linkedin.datahub.graphql.generated.SearchAcrossEntitiesInput; import com.linkedin.datahub.graphql.generated.SearchResults; import com.linkedin.datahub.graphql.resolvers.ResolverUtils; @@ -30,8 +32,12 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -44,6 +50,7 @@ public class ListDataProductAssetsResolver implements DataFetcher> { + private static final String OUTPUT_PORTS_FILTER_FIELD = "isOutputPort"; private static final int DEFAULT_START = 0; private static final int DEFAULT_COUNT = 10; @@ -63,6 +70,7 @@ public CompletableFuture get(DataFetchingEnvironment environment) // 1. Get urns of assets belonging to Data Product using an aspect query List assetUrns = new ArrayList<>(); + Set outputPorts = Collections.EMPTY_SET; try { final EntityResponse entityResponse = _entityClient.getV2( @@ -86,6 +94,11 @@ public CompletableFuture get(DataFetchingEnvironment environment) dataProductProperties.getAssets().stream() .map(DataProductAssociation::getDestinationUrn) .collect(Collectors.toList())); + outputPorts = + dataProductProperties.getAssets().stream() + .filter(DataProductAssociation::isOutputPort) + .map(dpa -> dpa.getDestinationUrn().toString()) + .collect(Collectors.toSet()); } } } catch (Exception e) { @@ -117,6 +130,7 @@ public CompletableFuture get(DataFetchingEnvironment environment) final int start = input.getStart() != null ? input.getStart() : DEFAULT_START; final int count = input.getCount() != null ? input.getCount() : DEFAULT_COUNT; + Set finalOutputPorts = outputPorts; return GraphQLConcurrencyUtils.supplyAsync( () -> { // if no assets in data product properties, exit early before search and return empty @@ -130,13 +144,21 @@ public CompletableFuture get(DataFetchingEnvironment environment) return results; } + List filters = input.getFilters(); + final List urnsToFilterOn = getUrnsToFilterOn(assetUrns, finalOutputPorts, filters); + // need to remove output ports filter so we don't send to elastic + if (filters != null) { + filters.removeIf(f -> f.getField().equals(OUTPUT_PORTS_FILTER_FIELD)); + } // add urns from the aspect to our filters final Filter baseFilter = ResolverUtils.buildFilter( - input.getFilters(), + filters, input.getOrFilters(), context.getOperationContext().getAspectRetriever()); - final Filter finalFilter = buildFilterWithUrns(new HashSet<>(assetUrns), baseFilter); + final Filter finalFilter = + buildFilterWithUrns( + context.getDataHubAppConfig(), new HashSet<>(urnsToFilterOn), baseFilter); final SearchFlags searchFlags; com.linkedin.datahub.graphql.generated.SearchFlags inputFlags = input.getSearchFlags(); @@ -155,18 +177,34 @@ public CompletableFuture get(DataFetchingEnvironment environment) start, count); - return UrnSearchResultsMapper.map( - context, - _entityClient.searchAcrossEntities( - context - .getOperationContext() - .withSearchFlags(flags -> searchFlags != null ? searchFlags : flags), - finalEntityNames, - sanitizedQuery, - finalFilter, - start, - count, - null)); + SearchResults results = + UrnSearchResultsMapper.map( + context, + _entityClient.searchAcrossEntities( + context + .getOperationContext() + .withSearchFlags(flags -> searchFlags != null ? searchFlags : flags), + finalEntityNames, + sanitizedQuery, + finalFilter, + start, + count, + null, + null)); + results + .getSearchResults() + .forEach( + searchResult -> { + if (finalOutputPorts.contains(searchResult.getEntity().getUrn())) { + if (searchResult.getExtraProperties() == null) { + searchResult.setExtraProperties(new ArrayList<>()); + } + searchResult + .getExtraProperties() + .add(new ExtraProperty("isOutputPort", "true")); + } + }); + return results; } catch (Exception e) { log.error( "Failed to execute search for data product assets: entity types {}, query {}, filters: {}, start: {}, count: {}", @@ -186,4 +224,37 @@ public CompletableFuture get(DataFetchingEnvironment environment) this.getClass().getSimpleName(), "get"); } + + /** + * Check to see if our filters list has a hardcoded filter for output ports. If so, let this + * filter determine which urns we filter search results on. Otherwise, if no output port filter is + * found, return all asset urns as per usual. + */ + @Nonnull + private List getUrnsToFilterOn( + @Nonnull final List assetUrns, + @Nonnull final Set outputPortUrns, + @Nullable final List filters) { + Optional isOutputPort = + filters != null + ? filters.stream() + .filter(f -> f.getField().equals(OUTPUT_PORTS_FILTER_FIELD)) + .findFirst() + : Optional.empty(); + + // optionally get entities that explicitly are or are not output ports + List urnsToFilterOn = assetUrns; + if (isOutputPort.isPresent()) { + if (isOutputPort.get().getValue().equals("true")) { + urnsToFilterOn = outputPortUrns.stream().map(UrnUtils::getUrn).collect(Collectors.toList()); + } else { + urnsToFilterOn = + assetUrns.stream() + .filter(u -> !outputPortUrns.contains(u.toString())) + .collect(Collectors.toList()); + } + } + + return urnsToFilterOn; + } } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolver.java index 75796f637525e5..6a880503802cb4 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolver.java @@ -19,6 +19,7 @@ import com.linkedin.metadata.query.filter.Filter; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; +import java.util.Collections; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; @@ -98,7 +99,7 @@ public CompletableFuture get(final DataFetchingEnvironment enviro new ConjunctiveCriterion().setAnd(criteria))), start, count, - null, + Collections.emptyList(), null)); } catch (Exception e) { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolver.java index 0c16470c642b71..e6d4238bc70546 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolver.java @@ -22,6 +22,7 @@ import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -66,9 +67,10 @@ public CompletableFuture get(final DataFetchingEnvironment en Constants.DOMAIN_ENTITY_NAME, query, filter, - new SortCriterion() - .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) - .setOrder(SortOrder.DESCENDING), + Collections.singletonList( + new SortCriterion() + .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) + .setOrder(SortOrder.DESCENDING)), start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/group/ListGroupsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/group/ListGroupsResolver.java index fce404a6baa16b..0632af68998dc9 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/group/ListGroupsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/group/ListGroupsResolver.java @@ -21,6 +21,7 @@ import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -64,9 +65,10 @@ public CompletableFuture get(final DataFetchingEnvironment env CORP_GROUP_ENTITY_NAME, query, null, - new SortCriterion() - .setField(CORP_GROUP_CREATED_TIME_INDEX_FIELD_NAME) - .setOrder(SortOrder.DESCENDING), + Collections.singletonList( + new SortCriterion() + .setField(CORP_GROUP_CREATED_TIME_INDEX_FIELD_NAME) + .setOrder(SortOrder.DESCENDING)), start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolver.java index 2d4b24243073a5..d79634c27d881c 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolver.java @@ -21,6 +21,7 @@ import graphql.schema.DataFetchingEnvironment; import java.net.URISyntaxException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -60,13 +61,13 @@ public CompletableFuture get(DataFetchingEnvironment envi // Index! // We use the search index so that we can easily sort by the last updated time. final Filter filter = buildIncidentsEntityFilter(entityUrn, maybeState); - final SortCriterion sortCriterion = buildIncidentsSortCriterion(); + final List sortCriteria = buildIncidentsSortCriteria(); final SearchResult searchResult = _entityClient.filter( context.getOperationContext(), Constants.INCIDENT_ENTITY_NAME, filter, - sortCriterion, + sortCriteria, start, count); @@ -118,10 +119,10 @@ private Filter buildIncidentsEntityFilter( return QueryUtils.newFilter(criterionMap); } - private SortCriterion buildIncidentsSortCriterion() { + private List buildIncidentsSortCriteria() { final SortCriterion sortCriterion = new SortCriterion(); sortCriterion.setField(CREATED_TIME_SEARCH_INDEX_FIELD_NAME); sortCriterion.setOrder(SortOrder.DESCENDING); - return sortCriterion; + return Collections.singletonList(sortCriterion); } } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolver.java index 4a3b75deddc452..a4c2ab42227d9c 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolver.java @@ -23,6 +23,7 @@ import com.linkedin.metadata.search.SearchResult; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; +import java.util.Collections; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -76,9 +77,10 @@ public CompletableFuture get( new ConjunctiveCriterion() .setAnd( new CriterionArray(ImmutableList.of(filterCriterion))))), - new SortCriterion() - .setField(REQUEST_TIME_MS_FIELD_NAME) - .setOrder(SortOrder.DESCENDING), + Collections.singletonList( + new SortCriterion() + .setField(REQUEST_TIME_MS_FIELD_NAME) + .setOrder(SortOrder.DESCENDING)), start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/DeleteSecretResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/DeleteSecretResolver.java index f557b9889f604d..da81d560c6dbd6 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/DeleteSecretResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/DeleteSecretResolver.java @@ -23,16 +23,16 @@ public DeleteSecretResolver(final EntityClient entityClient) { public CompletableFuture get(final DataFetchingEnvironment environment) throws Exception { final QueryContext context = environment.getContext(); if (IngestionAuthUtils.canManageSecrets(context)) { - final String secretUrn = environment.getArgument("urn"); - final Urn urn = Urn.createFromString(secretUrn); + final String inputUrn = environment.getArgument("urn"); + final Urn urn = Urn.createFromString(inputUrn); return GraphQLConcurrencyUtils.supplyAsync( () -> { try { _entityClient.deleteEntity(context.getOperationContext(), urn); - return secretUrn; + return inputUrn; } catch (Exception e) { throw new RuntimeException( - String.format("Failed to perform delete against secret with urn %s", secretUrn), + String.format("Failed to perform delete against secret with urn %s", inputUrn), e); } }, diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolver.java index 106a2d0d1e18e2..bf8d7c800ccae6 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolver.java @@ -26,6 +26,7 @@ import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -73,9 +74,10 @@ public CompletableFuture get(final DataFetchingEnvironment en Constants.SECRETS_ENTITY_NAME, query, null, - new SortCriterion() - .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) - .setOrder(SortOrder.DESCENDING), + Collections.singletonList( + new SortCriterion() + .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) + .setOrder(SortOrder.DESCENDING)), start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/SecretUtils.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/SecretUtils.java index 225a5801adec94..87a3e5cb79ebfc 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/SecretUtils.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/SecretUtils.java @@ -25,7 +25,7 @@ static String encrypt(String value, String secret) { } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } - Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, secretKey); return Base64.getEncoder() .encodeToString(cipher.doFinal(value.getBytes(StandardCharsets.UTF_8))); @@ -48,7 +48,7 @@ static String decrypt(String encryptedValue, String secret) { } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } - Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING"); + Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, secretKey); return new String(cipher.doFinal(Base64.getDecoder().decode(encryptedValue))); } catch (Exception e) { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolver.java index 77fabd7167300e..12266db05b6d10 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolver.java @@ -25,12 +25,16 @@ import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import java.net.URISyntaxException; +import java.time.DateTimeException; +import java.time.ZoneId; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.support.CronExpression; /** Creates or updates an ingestion source. Requires the MANAGE_INGESTION privilege. */ @Slf4j @@ -46,55 +50,51 @@ public UpsertIngestionSourceResolver(final EntityClient entityClient) { public CompletableFuture get(final DataFetchingEnvironment environment) throws Exception { final QueryContext context = environment.getContext(); - return GraphQLConcurrencyUtils.supplyAsync( - () -> { - if (IngestionAuthUtils.canManageIngestion(context)) { - - final Optional ingestionSourceUrn = - Optional.ofNullable(environment.getArgument("urn")); - final UpdateIngestionSourceInput input = - bindArgument(environment.getArgument("input"), UpdateIngestionSourceInput.class); + if (!IngestionAuthUtils.canManageIngestion(context)) { + throw new AuthorizationException( + "Unauthorized to perform this action. Please contact your DataHub administrator."); + } + final Optional ingestionSourceUrn = Optional.ofNullable(environment.getArgument("urn")); + final UpdateIngestionSourceInput input = + bindArgument(environment.getArgument("input"), UpdateIngestionSourceInput.class); - // Create the policy info. - final DataHubIngestionSourceInfo info = mapIngestionSourceInfo(input); - final MetadataChangeProposal proposal; - if (ingestionSourceUrn.isPresent()) { - // Update existing ingestion source - try { - proposal = - buildMetadataChangeProposalWithUrn( - Urn.createFromString(ingestionSourceUrn.get()), - INGESTION_INFO_ASPECT_NAME, - info); - } catch (URISyntaxException e) { - throw new DataHubGraphQLException( - String.format("Malformed urn %s provided.", ingestionSourceUrn.get()), - DataHubGraphQLErrorCode.BAD_REQUEST); - } - } else { - // Create new ingestion source - // Since we are creating a new Ingestion Source, we need to generate a unique UUID. - final UUID uuid = UUID.randomUUID(); - final String uuidStr = uuid.toString(); - final DataHubIngestionSourceKey key = new DataHubIngestionSourceKey(); - key.setId(uuidStr); - proposal = - buildMetadataChangeProposalWithKey( - key, INGESTION_SOURCE_ENTITY_NAME, INGESTION_INFO_ASPECT_NAME, info); - } + // Create the policy info. + final DataHubIngestionSourceInfo info = mapIngestionSourceInfo(input); + final MetadataChangeProposal proposal; + if (ingestionSourceUrn.isPresent()) { + // Update existing ingestion source + try { + proposal = + buildMetadataChangeProposalWithUrn( + Urn.createFromString(ingestionSourceUrn.get()), INGESTION_INFO_ASPECT_NAME, info); + } catch (URISyntaxException e) { + throw new DataHubGraphQLException( + String.format("Malformed urn %s provided.", ingestionSourceUrn.get()), + DataHubGraphQLErrorCode.BAD_REQUEST); + } + } else { + // Create new ingestion source + // Since we are creating a new Ingestion Source, we need to generate a unique UUID. + final UUID uuid = UUID.randomUUID(); + final String uuidStr = uuid.toString(); + final DataHubIngestionSourceKey key = new DataHubIngestionSourceKey(); + key.setId(uuidStr); + proposal = + buildMetadataChangeProposalWithKey( + key, INGESTION_SOURCE_ENTITY_NAME, INGESTION_INFO_ASPECT_NAME, info); + } - try { - return _entityClient.ingestProposal(context.getOperationContext(), proposal, false); - } catch (Exception e) { - throw new RuntimeException( - String.format( - "Failed to perform update against ingestion source with urn %s", - input.toString()), - e); - } + return GraphQLConcurrencyUtils.supplyAsync( + () -> { + try { + return _entityClient.ingestProposal(context.getOperationContext(), proposal, false); + } catch (Exception e) { + throw new RuntimeException( + String.format( + "Failed to perform update against ingestion source with urn %s", + input.toString()), + e); } - throw new AuthorizationException( - "Unauthorized to perform this action. Please contact your DataHub administrator."); }, this.getClass().getSimpleName(), "get"); @@ -137,9 +137,38 @@ private DataHubIngestionSourceConfig mapConfig(final UpdateIngestionSourceConfig private DataHubIngestionSourceSchedule mapSchedule( final UpdateIngestionSourceScheduleInput input) { + + final String modifiedCronInterval = adjustCronInterval(input.getInterval()); + try { + CronExpression.parse(modifiedCronInterval); + } catch (IllegalArgumentException e) { + throw new DataHubGraphQLException( + String.format("Invalid cron schedule `%s`: %s", input.getInterval(), e.getMessage()), + DataHubGraphQLErrorCode.BAD_REQUEST); + } + try { + ZoneId.of(input.getTimezone()); + } catch (DateTimeException e) { + throw new DataHubGraphQLException( + String.format("Invalid timezone `%s`: %s", input.getTimezone(), e.getMessage()), + DataHubGraphQLErrorCode.BAD_REQUEST); + } + final DataHubIngestionSourceSchedule result = new DataHubIngestionSourceSchedule(); result.setInterval(input.getInterval()); result.setTimezone(input.getTimezone()); return result; } + + // Copied from IngestionScheduler.java + private String adjustCronInterval(final String origCronInterval) { + Objects.requireNonNull(origCronInterval, "origCronInterval must not be null"); + // Typically we support 5-character cron. Spring's lib only supports 6 character cron so we make + // an adjustment here. + final String[] originalCronParts = origCronInterval.split(" "); + if (originalCronParts.length == 5) { + return String.format("0 %s", origCronInterval); + } + return origCronInterval; + } } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/DataJobRunsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/DataJobRunsResolver.java index 591712ef3f55ba..09039e530631d0 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/DataJobRunsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/DataJobRunsResolver.java @@ -26,6 +26,7 @@ import graphql.schema.DataFetchingEnvironment; import java.net.URISyntaxException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -61,13 +62,13 @@ public CompletableFuture get(DataFetchingEnvironment // Index! // We use the search index so that we can easily sort by the last updated time. final Filter filter = buildTaskRunsEntityFilter(entityUrn); - final SortCriterion sortCriterion = buildTaskRunsSortCriterion(); + final List sortCriteria = buildTaskRunsSortCriteria(); final SearchResult gmsResult = _entityClient.filter( context.getOperationContext(), Constants.DATA_PROCESS_INSTANCE_ENTITY_NAME, filter, - sortCriterion, + sortCriteria, start, count); final List dataProcessInstanceUrns = @@ -123,10 +124,10 @@ private Filter buildTaskRunsEntityFilter(final String entityUrn) { return filter; } - private SortCriterion buildTaskRunsSortCriterion() { + private List buildTaskRunsSortCriteria() { final SortCriterion sortCriterion = new SortCriterion(); sortCriterion.setField(CREATED_TIME_SEARCH_INDEX_FIELD_NAME); sortCriterion.setOrder(SortOrder.DESCENDING); - return sortCriterion; + return Collections.singletonList(sortCriterion); } } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/EntityRunsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/EntityRunsResolver.java index 163fc30fb6e6c6..82c5b73d871525 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/EntityRunsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/jobs/EntityRunsResolver.java @@ -27,6 +27,7 @@ import graphql.schema.DataFetchingEnvironment; import java.net.URISyntaxException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -67,13 +68,13 @@ public CompletableFuture get(DataFetchingEnvironment // Index! // We use the search index so that we can easily sort by the last updated time. final Filter filter = buildTaskRunsEntityFilter(entityUrn, direction); - final SortCriterion sortCriterion = buildTaskRunsSortCriterion(); + final List sortCriteria = buildTaskRunsSortCriteria(); final SearchResult gmsResult = _entityClient.filter( context.getOperationContext(), Constants.DATA_PROCESS_INSTANCE_ENTITY_NAME, filter, - sortCriterion, + sortCriteria, start, count); final List dataProcessInstanceUrns = @@ -133,10 +134,10 @@ private Filter buildTaskRunsEntityFilter( return filter; } - private SortCriterion buildTaskRunsSortCriterion() { + private List buildTaskRunsSortCriteria() { final SortCriterion sortCriterion = new SortCriterion(); sortCriterion.setField(CREATED_TIME_SEARCH_INDEX_FIELD_NAME); sortCriterion.setOrder(SortOrder.DESCENDING); - return sortCriterion; + return Collections.singletonList(sortCriterion); } } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/load/EntityRelationshipsResultResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/load/EntityRelationshipsResultResolver.java index f775853dd59567..fd72edb2972e36 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/load/EntityRelationshipsResultResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/load/EntityRelationshipsResultResolver.java @@ -5,6 +5,7 @@ import com.linkedin.common.EntityRelationship; import com.linkedin.common.EntityRelationships; +import com.linkedin.common.urn.Urn; import com.linkedin.datahub.graphql.QueryContext; import com.linkedin.datahub.graphql.concurrency.GraphQLConcurrencyUtils; import com.linkedin.datahub.graphql.generated.Entity; @@ -12,11 +13,13 @@ import com.linkedin.datahub.graphql.generated.RelationshipsInput; import com.linkedin.datahub.graphql.types.common.mappers.AuditStampMapper; import com.linkedin.datahub.graphql.types.common.mappers.UrnToEntityMapper; +import com.linkedin.metadata.entity.EntityService; import com.linkedin.metadata.graph.GraphClient; import com.linkedin.metadata.query.filter.RelationshipDirection; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import java.util.List; +import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; import javax.annotation.Nullable; @@ -29,8 +32,16 @@ public class EntityRelationshipsResultResolver private final GraphClient _graphClient; + private final EntityService _entityService; + public EntityRelationshipsResultResolver(final GraphClient graphClient) { + this(graphClient, null); + } + + public EntityRelationshipsResultResolver( + final GraphClient graphClient, final EntityService entityService) { _graphClient = graphClient; + _entityService = entityService; } @Override @@ -47,13 +58,16 @@ public CompletableFuture get(DataFetchingEnvironment final Integer count = input.getCount(); // Optional! final RelationshipDirection resolvedDirection = RelationshipDirection.valueOf(relationshipDirection.toString()); + final boolean includeSoftDelete = input.getIncludeSoftDelete(); + return GraphQLConcurrencyUtils.supplyAsync( () -> mapEntityRelationships( context, fetchEntityRelationships( urn, relationshipTypes, resolvedDirection, start, count, context.getActorUrn()), - resolvedDirection), + resolvedDirection, + includeSoftDelete), this.getClass().getSimpleName(), "get"); } @@ -72,13 +86,28 @@ private EntityRelationships fetchEntityRelationships( private EntityRelationshipsResult mapEntityRelationships( @Nullable final QueryContext context, final EntityRelationships entityRelationships, - final RelationshipDirection relationshipDirection) { + final RelationshipDirection relationshipDirection, + final boolean includeSoftDelete) { final EntityRelationshipsResult result = new EntityRelationshipsResult(); + final Set existentUrns; + if (context != null && _entityService != null && !includeSoftDelete) { + Set allRelatedUrns = + entityRelationships.getRelationships().stream() + .map(EntityRelationship::getEntity) + .collect(Collectors.toSet()); + existentUrns = _entityService.exists(context.getOperationContext(), allRelatedUrns, false); + } else { + existentUrns = null; + } + List viewable = entityRelationships.getRelationships().stream() .filter( - rel -> context == null || canView(context.getOperationContext(), rel.getEntity())) + rel -> + (existentUrns == null || existentUrns.contains(rel.getEntity())) + && (context == null + || canView(context.getOperationContext(), rel.getEntity()))) .collect(Collectors.toList()); result.setStart(entityRelationships.getStart()); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/MutationUtils.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/MutationUtils.java index 8b798b243ca864..7608007e9dda98 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/MutationUtils.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/MutationUtils.java @@ -1,6 +1,7 @@ package com.linkedin.datahub.graphql.resolvers.mutate; import static com.linkedin.metadata.Constants.*; +import static com.linkedin.metadata.utils.SystemMetadataUtils.createDefaultSystemMetadata; import com.linkedin.common.urn.Urn; import com.linkedin.data.template.RecordTemplate; @@ -84,7 +85,7 @@ private static MetadataChangeProposal setProposalProperties( proposal.setChangeType(ChangeType.UPSERT); // Assumes proposal is generated first from the builder methods above so SystemMetadata is empty - SystemMetadata systemMetadata = new SystemMetadata(); + SystemMetadata systemMetadata = createDefaultSystemMetadata(); StringMap properties = new StringMap(); properties.put(APP_SOURCE, UI_SOURCE); systemMetadata.setProperties(properties); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateNameResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateNameResolver.java index 1d90720fc69023..ad6dbbe635ed1f 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateNameResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateNameResolver.java @@ -4,9 +4,11 @@ import static com.linkedin.datahub.graphql.resolvers.mutate.MutationUtils.persistAspect; import com.linkedin.businessattribute.BusinessAttributeInfo; +import com.linkedin.common.AuditStamp; import com.linkedin.common.urn.CorpuserUrn; import com.linkedin.common.urn.Urn; import com.linkedin.common.urn.UrnUtils; +import com.linkedin.data.template.SetMode; import com.linkedin.datahub.graphql.QueryContext; import com.linkedin.datahub.graphql.authorization.AuthorizationUtils; import com.linkedin.datahub.graphql.concurrency.GraphQLConcurrencyUtils; @@ -20,6 +22,7 @@ import com.linkedin.datahub.graphql.resolvers.mutate.util.DomainUtils; import com.linkedin.datahub.graphql.resolvers.mutate.util.GlossaryUtils; import com.linkedin.dataproduct.DataProductProperties; +import com.linkedin.dataset.EditableDatasetProperties; import com.linkedin.domain.DomainProperties; import com.linkedin.domain.Domains; import com.linkedin.entity.client.EntityClient; @@ -70,6 +73,8 @@ public CompletableFuture get(DataFetchingEnvironment environment) throw return updateDataProductName(targetUrn, input, context); case Constants.BUSINESS_ATTRIBUTE_ENTITY_NAME: return updateBusinessAttributeName(targetUrn, input, environment.getContext()); + case Constants.DATASET_ENTITY_NAME: + return updateDatasetName(targetUrn, input, environment.getContext()); default: throw new RuntimeException( String.format( @@ -236,6 +241,37 @@ private Boolean updateGroupName(Urn targetUrn, UpdateNameInput input, QueryConte "Unauthorized to perform this action. Please contact your DataHub administrator."); } + // udpates editable dataset properties aspect's name field + private Boolean updateDatasetName(Urn targetUrn, UpdateNameInput input, QueryContext context) { + if (AuthorizationUtils.canEditProperties(targetUrn, context)) { + try { + if (input.getName() != null) { + final EditableDatasetProperties editableDatasetProperties = + new EditableDatasetProperties(); + editableDatasetProperties.setName(input.getName()); + final AuditStamp auditStamp = new AuditStamp(); + Urn actor = UrnUtils.getUrn(context.getActorUrn()); + auditStamp.setActor(actor, SetMode.IGNORE_NULL); + auditStamp.setTime(System.currentTimeMillis()); + editableDatasetProperties.setLastModified(auditStamp); + persistAspect( + context.getOperationContext(), + targetUrn, + Constants.EDITABLE_DATASET_PROPERTIES_ASPECT_NAME, + editableDatasetProperties, + actor, + _entityService); + } + return true; + } catch (Exception e) { + throw new RuntimeException( + String.format("Failed to perform update against input %s", input), e); + } + } + throw new AuthorizationException( + "Unauthorized to perform this action. Please contact your DataHub administrator."); + } + private Boolean updateDataProductName( Urn targetUrn, UpdateNameInput input, QueryContext context) { try { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/FormUtils.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/FormUtils.java index 17718f39c12387..d118c04d19393d 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/FormUtils.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/FormUtils.java @@ -202,7 +202,7 @@ public static FormActorAssignment mapFormActorAssignment( if (input.getGroups() != null) { UrnArray groupUrns = new UrnArray(); input.getGroups().forEach(group -> groupUrns.add(UrnUtils.getUrn(group))); - result.setUsers(groupUrns); + result.setGroups(groupUrns); } return result; diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/OwnerUtils.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/OwnerUtils.java index 29056eb71a7a3a..ddb795189c0e3d 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/OwnerUtils.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/mutate/util/OwnerUtils.java @@ -171,7 +171,7 @@ public static boolean isOwnerEqual( if (!owner.getOwner().equals(ownerUrn)) { return false; } - if (owner.getTypeUrn() != null) { + if (owner.getTypeUrn() != null && ownershipTypeUrn != null) { return owner.getTypeUrn().equals(ownershipTypeUrn); } if (ownershipTypeUrn == null) { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ownership/ListOwnershipTypesResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ownership/ListOwnershipTypesResolver.java index 9f6951e44dd735..da0d5dd07a94f0 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ownership/ListOwnershipTypesResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/ownership/ListOwnershipTypesResolver.java @@ -67,7 +67,7 @@ public CompletableFuture get(DataFetchingEnvironment e filters, Collections.emptyList(), context.getOperationContext().getAspectRetriever()), - DEFAULT_SORT_CRITERION, + Collections.singletonList(DEFAULT_SORT_CRITERION), start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolver.java index 8b4253501dedc7..312950e44ffbda 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolver.java @@ -5,15 +5,13 @@ import com.datahub.authentication.Authentication; import com.datahub.authentication.post.PostService; import com.linkedin.common.Media; +import com.linkedin.common.urn.UrnUtils; import com.linkedin.datahub.graphql.QueryContext; import com.linkedin.datahub.graphql.authorization.AuthorizationUtils; import com.linkedin.datahub.graphql.concurrency.GraphQLConcurrencyUtils; import com.linkedin.datahub.graphql.exception.AuthorizationException; -import com.linkedin.datahub.graphql.generated.CreatePostInput; -import com.linkedin.datahub.graphql.generated.PostContentType; -import com.linkedin.datahub.graphql.generated.PostType; -import com.linkedin.datahub.graphql.generated.UpdateMediaInput; -import com.linkedin.datahub.graphql.generated.UpdatePostContentInput; +import com.linkedin.datahub.graphql.generated.*; +import com.linkedin.metadata.utils.SchemaFieldUtils; import com.linkedin.post.PostContent; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; @@ -46,6 +44,18 @@ public CompletableFuture get(final DataFetchingEnvironment environment) final String description = content.getDescription(); final UpdateMediaInput updateMediaInput = content.getMedia(); final Authentication authentication = context.getAuthentication(); + final String targetResource = input.getResourceUrn(); + final String targetSubresource = input.getSubResource(); + + String targetUrn; + if (targetSubresource != null) { + targetUrn = + SchemaFieldUtils.generateSchemaFieldUrn( + UrnUtils.getUrn(targetResource), targetSubresource) + .toString(); + } else { + targetUrn = targetResource; + } Media media = updateMediaInput == null @@ -59,7 +69,7 @@ public CompletableFuture get(final DataFetchingEnvironment environment) () -> { try { return _postService.createPost( - context.getOperationContext(), type.toString(), postContent); + context.getOperationContext(), type.toString(), postContent, targetUrn); } catch (Exception e) { throw new RuntimeException("Failed to create a new post", e); } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/ListPostsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/ListPostsResolver.java index 12e4047c2dc4e5..dc7797882371b7 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/ListPostsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/post/ListPostsResolver.java @@ -18,7 +18,9 @@ import com.linkedin.metadata.search.SearchResult; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; +import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -49,10 +51,11 @@ public CompletableFuture get(final DataFetchingEnvironment envi return GraphQLConcurrencyUtils.supplyAsync( () -> { try { - final SortCriterion sortCriterion = - new SortCriterion() - .setField(LAST_MODIFIED_FIELD_NAME) - .setOrder(SortOrder.DESCENDING); + final List sortCriteria = + Collections.singletonList( + new SortCriterion() + .setField(LAST_MODIFIED_FIELD_NAME) + .setOrder(SortOrder.DESCENDING)); // First, get all Post Urns. final SearchResult gmsResult = @@ -61,7 +64,7 @@ public CompletableFuture get(final DataFetchingEnvironment envi POST_ENTITY_NAME, query, null, - sortCriterion, + sortCriteria, start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolver.java index 95be3a68e895c8..aa411f019a4c08 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolver.java @@ -61,8 +61,9 @@ public CompletableFuture get(final DataFetchingEnvironment en return GraphQLConcurrencyUtils.supplyAsync( () -> { try { - final SortCriterion sortCriterion = - new SortCriterion().setField(CREATED_AT_FIELD).setOrder(SortOrder.DESCENDING); + final List sortCriteria = + Collections.singletonList( + new SortCriterion().setField(CREATED_AT_FIELD).setOrder(SortOrder.DESCENDING)); // First, get all Query Urns. final SearchResult gmsResult = @@ -74,7 +75,7 @@ public CompletableFuture get(final DataFetchingEnvironment en QUERY_ENTITY_NAME, query, buildFilters(input, context.getOperationContext().getAspectRetriever()), - sortCriterion, + sortCriteria, start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolver.java index 04a72b14eeb021..19bccaf2650866 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolver.java @@ -22,6 +22,7 @@ import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -94,7 +95,7 @@ public CompletableFuture get(DataFetchingEnvironment environme : inputFilter, 0, 0, // 0 entity count because we don't want resolved entities - null, + Collections.emptyList(), facets)); } catch (Exception e) { log.error( diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolver.java index a61d9111321ca7..b07e3fa9126412 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolver.java @@ -25,6 +25,7 @@ import graphql.schema.DataFetchingEnvironment; import io.datahubproject.metadata.context.OperationContext; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Optional; @@ -107,7 +108,7 @@ private SearchResult getSearchResults( : null, 0, 0, - null, + Collections.emptyList(), null); } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolver.java index 287e339ddee50c..0dbed92b7d58e7 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolver.java @@ -18,8 +18,10 @@ import com.linkedin.view.DataHubViewInfo; import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; +import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -65,10 +67,24 @@ public CompletableFuture get(DataFetchingEnvironment environment) context.getOperationContext().getAspectRetriever()); SearchFlags searchFlags = mapInputFlags(context, input.getSearchFlags()); - SortCriterion sortCriterion = - input.getSortInput() != null - ? mapSortCriterion(input.getSortInput().getSortCriterion()) - : null; + List sortCriteria; + if (input.getSortInput() != null) { + if (input.getSortInput().getSortCriteria() != null) { + sortCriteria = + input.getSortInput().getSortCriteria().stream() + .map(SearchUtils::mapSortCriterion) + .collect(Collectors.toList()); + } else { + sortCriteria = + input.getSortInput().getSortCriterion() != null + ? Collections.singletonList( + mapSortCriterion(input.getSortInput().getSortCriterion())) + : Collections.emptyList(); + } + + } else { + sortCriteria = Collections.emptyList(); + } try { log.debug( @@ -100,7 +116,7 @@ public CompletableFuture get(DataFetchingEnvironment environment) : baseFilter, start, count, - sortCriterion)); + sortCriteria)); } catch (Exception e) { log.error( "Failed to execute search for multiple entities: entity types {}, query {}, filters: {}, start: {}, count: {}", diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolver.java index 5fb2f8f14b293c..7a48e305dbfe49 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolver.java @@ -20,6 +20,7 @@ import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import io.opentelemetry.extension.annotations.WithSpan; +import java.util.Collections; import java.util.concurrent.CompletableFuture; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -89,7 +90,7 @@ public CompletableFuture get(DataFetchingEnvironment environment) input.getFilters(), input.getOrFilters(), context.getOperationContext().getAspectRetriever()), - null, + Collections.emptyList(), start, count)); } catch (Exception e) { diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/settings/docPropagation/DocPropagationSettingsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/settings/docPropagation/DocPropagationSettingsResolver.java new file mode 100644 index 00000000000000..0641d6aca63704 --- /dev/null +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/settings/docPropagation/DocPropagationSettingsResolver.java @@ -0,0 +1,59 @@ +package com.linkedin.datahub.graphql.resolvers.settings.docPropagation; + +import com.linkedin.datahub.graphql.QueryContext; +import com.linkedin.datahub.graphql.concurrency.GraphQLConcurrencyUtils; +import com.linkedin.datahub.graphql.generated.DocPropagationSettings; +import com.linkedin.metadata.service.SettingsService; +import com.linkedin.settings.global.GlobalSettingsInfo; +import graphql.schema.DataFetcher; +import graphql.schema.DataFetchingEnvironment; +import java.util.Objects; +import java.util.concurrent.CompletableFuture; +import javax.annotation.Nonnull; +import lombok.extern.slf4j.Slf4j; + +/** Retrieves the Global Settings related to the Actions feature. */ +@Slf4j +public class DocPropagationSettingsResolver + implements DataFetcher> { + + private final SettingsService _settingsService; + + public DocPropagationSettingsResolver(final SettingsService settingsService) { + _settingsService = Objects.requireNonNull(settingsService, "settingsService must not be null"); + } + + @Override + public CompletableFuture get(final DataFetchingEnvironment environment) + throws Exception { + final QueryContext context = environment.getContext(); + return GraphQLConcurrencyUtils.supplyAsync( + () -> { + try { + final GlobalSettingsInfo globalSettings = + _settingsService.getGlobalSettings(context.getOperationContext()); + final DocPropagationSettings defaultSettings = new DocPropagationSettings(); + // TODO: Enable by default. Currently the automation trusts the settings aspect, which + // does not have this. + defaultSettings.setDocColumnPropagation(false); + return globalSettings != null && globalSettings.hasDocPropagation() + ? mapDocPropagationSettings(globalSettings.getDocPropagation()) + : defaultSettings; + } catch (Exception e) { + throw new RuntimeException("Failed to retrieve Action Settings", e); + } + }, + this.getClass().getSimpleName(), + "get"); + } + + private static DocPropagationSettings mapDocPropagationSettings( + @Nonnull final com.linkedin.settings.global.DocPropagationFeatureSettings settings) { + final DocPropagationSettings result = new DocPropagationSettings(); + + // Map docColumnPropagation settings field + result.setDocColumnPropagation(settings.isColumnPropagationEnabled()); + + return result; + } +} diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/settings/docPropagation/UpdateDocPropagationSettingsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/settings/docPropagation/UpdateDocPropagationSettingsResolver.java new file mode 100644 index 00000000000000..198c36faad0bd8 --- /dev/null +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/settings/docPropagation/UpdateDocPropagationSettingsResolver.java @@ -0,0 +1,77 @@ +package com.linkedin.datahub.graphql.resolvers.settings.docPropagation; + +import static com.linkedin.datahub.graphql.resolvers.ResolverUtils.*; + +import com.linkedin.datahub.graphql.QueryContext; +import com.linkedin.datahub.graphql.authorization.AuthorizationUtils; +import com.linkedin.datahub.graphql.concurrency.GraphQLConcurrencyUtils; +import com.linkedin.datahub.graphql.exception.AuthorizationException; +import com.linkedin.datahub.graphql.generated.UpdateDocPropagationSettingsInput; +import com.linkedin.metadata.service.SettingsService; +import com.linkedin.settings.global.DocPropagationFeatureSettings; +import com.linkedin.settings.global.GlobalSettingsInfo; +import graphql.schema.DataFetcher; +import graphql.schema.DataFetchingEnvironment; +import java.util.Objects; +import java.util.concurrent.CompletableFuture; +import javax.annotation.Nonnull; + +/** Resolver responsible for updating the actions settings. */ +public class UpdateDocPropagationSettingsResolver + implements DataFetcher> { + + private final SettingsService _settingsService; + + public UpdateDocPropagationSettingsResolver(@Nonnull final SettingsService settingsService) { + _settingsService = Objects.requireNonNull(settingsService, "settingsService must not be null"); + } + + @Override + public CompletableFuture get(final DataFetchingEnvironment environment) + throws Exception { + final QueryContext context = environment.getContext(); + final UpdateDocPropagationSettingsInput input = + bindArgument(environment.getArgument("input"), UpdateDocPropagationSettingsInput.class); + + return GraphQLConcurrencyUtils.supplyAsync( + () -> { + if (AuthorizationUtils.canManageFeatures(context)) { + try { + // First, fetch the existing global settings. This does a R-M-F. + final GlobalSettingsInfo maybeGlobalSettings = + _settingsService.getGlobalSettings(context.getOperationContext()); + + final GlobalSettingsInfo newGlobalSettings = + maybeGlobalSettings != null ? maybeGlobalSettings : new GlobalSettingsInfo(); + + final DocPropagationFeatureSettings newDocPropagationSettings = + newGlobalSettings.hasDocPropagation() + ? newGlobalSettings.getDocPropagation() + : new DocPropagationFeatureSettings().setEnabled(true); + + // Next, patch the actions settings. + updateDocPropagationSettings(newDocPropagationSettings, input); + newGlobalSettings.setDocPropagation(newDocPropagationSettings); + + // Finally, write back to GMS. + _settingsService.updateGlobalSettings( + context.getOperationContext(), newGlobalSettings); + return true; + } catch (Exception e) { + throw new RuntimeException( + String.format("Failed to update action settings! %s", input), e); + } + } + throw new AuthorizationException( + "Unauthorized to perform this action. Please contact your DataHub administrator."); + }, + this.getClass().getSimpleName(), + "get"); + } + + private static void updateDocPropagationSettings( + @Nonnull final com.linkedin.settings.global.DocPropagationFeatureSettings settings, + @Nonnull final UpdateDocPropagationSettingsInput input) { + settings.setColumnPropagationEnabled(input.getDocColumnPropagation()); + } +} diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListGlobalViewsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListGlobalViewsResolver.java index 952e55ca117f2d..265f4d5f5d56e2 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListGlobalViewsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListGlobalViewsResolver.java @@ -74,7 +74,7 @@ public CompletableFuture get(final DataFetchingEnvironment envi Constants.DATAHUB_VIEW_ENTITY_NAME, query, buildFilters(context.getOperationContext().getAspectRetriever()), - DEFAULT_SORT_CRITERION, + Collections.singletonList(DEFAULT_SORT_CRITERION), start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListMyViewsResolver.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListMyViewsResolver.java index 32eb0e46bb6160..abfdeb2d608693 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListMyViewsResolver.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/resolvers/view/ListMyViewsResolver.java @@ -79,7 +79,7 @@ public CompletableFuture get(final DataFetchingEnvironment envi viewType, context.getActorUrn(), context.getOperationContext().getAspectRetriever()), - DEFAULT_SORT_CRITERION, + Collections.singletonList(DEFAULT_SORT_CRITERION), start, count); diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/chart/mappers/InputFieldsMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/chart/mappers/InputFieldsMapper.java index 49c2d17ce09585..269fb7d4ddf793 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/chart/mappers/InputFieldsMapper.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/chart/mappers/InputFieldsMapper.java @@ -5,10 +5,13 @@ import com.linkedin.datahub.graphql.QueryContext; import com.linkedin.datahub.graphql.generated.InputField; import com.linkedin.datahub.graphql.types.dataset.mappers.SchemaFieldMapper; +import java.net.URISyntaxException; import java.util.stream.Collectors; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import lombok.extern.slf4j.Slf4j; +@Slf4j public class InputFieldsMapper { public static final InputFieldsMapper INSTANCE = new InputFieldsMapper(); @@ -31,13 +34,24 @@ public com.linkedin.datahub.graphql.generated.InputFields apply( .map( field -> { InputField fieldResult = new InputField(); + Urn parentUrn = entityUrn; - if (field.hasSchemaField()) { - fieldResult.setSchemaField( - SchemaFieldMapper.map(context, field.getSchemaField(), entityUrn)); - } if (field.hasSchemaFieldUrn()) { fieldResult.setSchemaFieldUrn(field.getSchemaFieldUrn().toString()); + try { + parentUrn = + Urn.createFromString(field.getSchemaFieldUrn().getEntityKey().get(0)); + } catch (URISyntaxException e) { + log.error( + "Field urn resolution: failed to extract parentUrn successfully from {}. Falling back to {}", + field.getSchemaFieldUrn(), + entityUrn, + e); + } + } + if (field.hasSchemaField()) { + fieldResult.setSchemaField( + SchemaFieldMapper.map(context, field.getSchemaField(), parentUrn)); } return fieldResult; }) diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/common/mappers/DocumentationMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/common/mappers/DocumentationMapper.java new file mode 100644 index 00000000000000..dcb4921d353981 --- /dev/null +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/common/mappers/DocumentationMapper.java @@ -0,0 +1,54 @@ +package com.linkedin.datahub.graphql.types.common.mappers; + +import com.linkedin.common.urn.Urn; +import com.linkedin.datahub.graphql.QueryContext; +import com.linkedin.datahub.graphql.generated.DataHubConnection; +import com.linkedin.datahub.graphql.generated.Documentation; +import com.linkedin.datahub.graphql.generated.DocumentationAssociation; +import com.linkedin.datahub.graphql.generated.EntityType; +import com.linkedin.datahub.graphql.types.mappers.ModelMapper; +import java.util.stream.Collectors; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public class DocumentationMapper + implements ModelMapper { + + public static final DocumentationMapper INSTANCE = new DocumentationMapper(); + + public static Documentation map( + @Nullable final QueryContext context, + @Nonnull final com.linkedin.common.Documentation metadata) { + return INSTANCE.apply(context, metadata); + } + + @Override + public Documentation apply( + @Nullable final QueryContext context, + @Nonnull final com.linkedin.common.Documentation input) { + final Documentation result = new Documentation(); + result.setDocumentations( + input.getDocumentations().stream() + .map(docAssociation -> mapDocAssociation(context, docAssociation)) + .collect(Collectors.toList())); + return result; + } + + private DocumentationAssociation mapDocAssociation( + @Nullable final QueryContext context, + @Nonnull final com.linkedin.common.DocumentationAssociation association) { + final DocumentationAssociation result = new DocumentationAssociation(); + result.setDocumentation(association.getDocumentation()); + if (association.getAttribution() != null) { + result.setAttribution(MetadataAttributionMapper.map(context, association.getAttribution())); + } + return result; + } + + private DataHubConnection mapConnectionEntity(@Nonnull final Urn urn) { + DataHubConnection connection = new DataHubConnection(); + connection.setUrn(urn.toString()); + connection.setType(EntityType.DATAHUB_CONNECTION); + return connection; + } +} diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/common/mappers/MetadataAttributionMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/common/mappers/MetadataAttributionMapper.java new file mode 100644 index 00000000000000..55fb7ad6f3a2b8 --- /dev/null +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/common/mappers/MetadataAttributionMapper.java @@ -0,0 +1,35 @@ +package com.linkedin.datahub.graphql.types.common.mappers; + +import com.linkedin.datahub.graphql.QueryContext; +import com.linkedin.datahub.graphql.generated.MetadataAttribution; +import com.linkedin.datahub.graphql.types.mappers.ModelMapper; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public class MetadataAttributionMapper + implements ModelMapper { + + public static final MetadataAttributionMapper INSTANCE = new MetadataAttributionMapper(); + + public static MetadataAttribution map( + @Nullable final QueryContext context, + @Nonnull final com.linkedin.common.MetadataAttribution metadata) { + return INSTANCE.apply(context, metadata); + } + + @Override + public MetadataAttribution apply( + @Nullable final QueryContext context, + @Nonnull final com.linkedin.common.MetadataAttribution input) { + final MetadataAttribution result = new MetadataAttribution(); + result.setTime(input.getTime()); + result.setActor(UrnToEntityMapper.map(context, input.getActor())); + if (input.getSource() != null) { + result.setSource(UrnToEntityMapper.map(context, input.getSource())); + } + if (input.getSourceDetail() != null) { + result.setSourceDetail(StringMapMapper.map(context, input.getSourceDetail())); + } + return result; + } +} diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetMapper.java index 89d5aa8621bf08..a7b5f6de0c183d 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetMapper.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetMapper.java @@ -222,6 +222,7 @@ private void mapDatasetProperties( properties.setQualifiedName(gmsProperties.getQualifiedName()); dataset.setProperties(properties); dataset.setDescription(properties.getDescription()); + dataset.setName(properties.getName()); if (gmsProperties.getUri() != null) { dataset.setUri(gmsProperties.getUri().toString()); } @@ -248,6 +249,9 @@ private void mapEditableDatasetProperties(@Nonnull Dataset dataset, @Nonnull Dat new EditableDatasetProperties(dataMap); final DatasetEditableProperties editableProperties = new DatasetEditableProperties(); editableProperties.setDescription(editableDatasetProperties.getDescription()); + if (editableDatasetProperties.getName() != null) { + editableProperties.setName(editableDatasetProperties.getName()); + } dataset.setEditableProperties(editableProperties); } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetUpdateInputMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetUpdateInputMapper.java index 122298bcab6547..104dc0e1043413 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetUpdateInputMapper.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/DatasetUpdateInputMapper.java @@ -111,8 +111,13 @@ public Collection apply( if (datasetUpdateInput.getEditableProperties() != null) { final EditableDatasetProperties editableDatasetProperties = new EditableDatasetProperties(); - editableDatasetProperties.setDescription( - datasetUpdateInput.getEditableProperties().getDescription()); + if (datasetUpdateInput.getEditableProperties().getDescription() != null) { + editableDatasetProperties.setDescription( + datasetUpdateInput.getEditableProperties().getDescription()); + } + if (datasetUpdateInput.getEditableProperties().getName() != null) { + editableDatasetProperties.setName(datasetUpdateInput.getEditableProperties().getName()); + } editableDatasetProperties.setLastModified(auditStamp); editableDatasetProperties.setCreated(auditStamp); proposals.add( diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/SchemaFieldMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/SchemaFieldMapper.java index 3674186ac23fe6..23d94ff85bd3d4 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/SchemaFieldMapper.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/dataset/mappers/SchemaFieldMapper.java @@ -91,8 +91,7 @@ private SchemaFieldEntity createSchemaFieldEntity( @Nonnull final com.linkedin.schema.SchemaField input, @Nonnull Urn entityUrn) { SchemaFieldEntity schemaFieldEntity = new SchemaFieldEntity(); schemaFieldEntity.setUrn( - SchemaFieldUtils.generateSchemaFieldUrn(entityUrn.toString(), input.getFieldPath()) - .toString()); + SchemaFieldUtils.generateSchemaFieldUrn(entityUrn, input.getFieldPath()).toString()); schemaFieldEntity.setType(EntityType.SCHEMA_FIELD); return schemaFieldEntity; } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeMapper.java index 26835f9e57dcd8..77457a814bd677 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeMapper.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeMapper.java @@ -15,40 +15,49 @@ public class EntityTypeMapper { static final Map ENTITY_TYPE_TO_NAME = ImmutableMap.builder() + .put(EntityType.DOMAIN, Constants.DOMAIN_ENTITY_NAME) .put(EntityType.DATASET, Constants.DATASET_ENTITY_NAME) - .put(EntityType.ROLE, Constants.ROLE_ENTITY_NAME) .put(EntityType.CORP_USER, Constants.CORP_USER_ENTITY_NAME) .put(EntityType.CORP_GROUP, Constants.CORP_GROUP_ENTITY_NAME) .put(EntityType.DATA_PLATFORM, Constants.DATA_PLATFORM_ENTITY_NAME) + .put(EntityType.ER_MODEL_RELATIONSHIP, Constants.ER_MODEL_RELATIONSHIP_ENTITY_NAME) .put(EntityType.DASHBOARD, Constants.DASHBOARD_ENTITY_NAME) + .put(EntityType.NOTEBOOK, Constants.NOTEBOOK_ENTITY_NAME) .put(EntityType.CHART, Constants.CHART_ENTITY_NAME) - .put(EntityType.TAG, Constants.TAG_ENTITY_NAME) .put(EntityType.DATA_FLOW, Constants.DATA_FLOW_ENTITY_NAME) .put(EntityType.DATA_JOB, Constants.DATA_JOB_ENTITY_NAME) - .put(EntityType.DATA_PROCESS_INSTANCE, Constants.DATA_PROCESS_INSTANCE_ENTITY_NAME) + .put(EntityType.TAG, Constants.TAG_ENTITY_NAME) .put(EntityType.GLOSSARY_TERM, Constants.GLOSSARY_TERM_ENTITY_NAME) .put(EntityType.GLOSSARY_NODE, Constants.GLOSSARY_NODE_ENTITY_NAME) + .put(EntityType.CONTAINER, Constants.CONTAINER_ENTITY_NAME) .put(EntityType.MLMODEL, Constants.ML_MODEL_ENTITY_NAME) .put(EntityType.MLMODEL_GROUP, Constants.ML_MODEL_GROUP_ENTITY_NAME) .put(EntityType.MLFEATURE_TABLE, Constants.ML_FEATURE_TABLE_ENTITY_NAME) .put(EntityType.MLFEATURE, Constants.ML_FEATURE_ENTITY_NAME) .put(EntityType.MLPRIMARY_KEY, Constants.ML_PRIMARY_KEY_ENTITY_NAME) - .put(EntityType.CONTAINER, Constants.CONTAINER_ENTITY_NAME) - .put(EntityType.DOMAIN, Constants.DOMAIN_ENTITY_NAME) - .put(EntityType.NOTEBOOK, Constants.NOTEBOOK_ENTITY_NAME) + .put(EntityType.INGESTION_SOURCE, Constants.INGESTION_SOURCE_ENTITY_NAME) + .put(EntityType.EXECUTION_REQUEST, Constants.EXECUTION_REQUEST_ENTITY_NAME) + .put(EntityType.ASSERTION, Constants.ASSERTION_ENTITY_NAME) + .put(EntityType.DATA_PROCESS_INSTANCE, Constants.DATA_PROCESS_INSTANCE_ENTITY_NAME) .put(EntityType.DATA_PLATFORM_INSTANCE, Constants.DATA_PLATFORM_INSTANCE_ENTITY_NAME) + .put(EntityType.ACCESS_TOKEN, Constants.ACCESS_TOKEN_ENTITY_NAME) .put(EntityType.TEST, Constants.TEST_ENTITY_NAME) - .put(EntityType.ER_MODEL_RELATIONSHIP, Constants.ER_MODEL_RELATIONSHIP_ENTITY_NAME) + .put(EntityType.DATAHUB_POLICY, Constants.POLICY_ENTITY_NAME) + .put(EntityType.DATAHUB_ROLE, Constants.DATAHUB_ROLE_ENTITY_NAME) + .put(EntityType.POST, Constants.POST_ENTITY_NAME) + .put(EntityType.SCHEMA_FIELD, Constants.SCHEMA_FIELD_ENTITY_NAME) .put(EntityType.DATAHUB_VIEW, Constants.DATAHUB_VIEW_ENTITY_NAME) + .put(EntityType.QUERY, Constants.QUERY_ENTITY_NAME) .put(EntityType.DATA_PRODUCT, Constants.DATA_PRODUCT_ENTITY_NAME) - .put(EntityType.SCHEMA_FIELD, Constants.SCHEMA_FIELD_ENTITY_NAME) + .put(EntityType.CUSTOM_OWNERSHIP_TYPE, Constants.OWNERSHIP_TYPE_ENTITY_NAME) + .put(EntityType.INCIDENT, Constants.INCIDENT_ENTITY_NAME) + .put(EntityType.ROLE, Constants.ROLE_ENTITY_NAME) .put(EntityType.STRUCTURED_PROPERTY, Constants.STRUCTURED_PROPERTY_ENTITY_NAME) - .put(EntityType.ASSERTION, Constants.ASSERTION_ENTITY_NAME) + .put(EntityType.FORM, Constants.FORM_ENTITY_NAME) + .put(EntityType.DATA_TYPE, Constants.DATA_TYPE_ENTITY_NAME) + .put(EntityType.ENTITY_TYPE, Constants.ENTITY_TYPE_ENTITY_NAME) .put(EntityType.RESTRICTED, Constants.RESTRICTED_ENTITY_NAME) .put(EntityType.BUSINESS_ATTRIBUTE, Constants.BUSINESS_ATTRIBUTE_ENTITY_NAME) - .put(EntityType.QUERY, Constants.QUERY_ENTITY_NAME) - .put(EntityType.POST, Constants.POST_ENTITY_NAME) - .put(EntityType.FORM, Constants.FORM_ENTITY_NAME) .build(); private static final Map ENTITY_NAME_TO_TYPE = diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeUrnMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeUrnMapper.java index 9e9bf86e5fe7fe..334faf753cb8b5 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeUrnMapper.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/entitytype/EntityTypeUrnMapper.java @@ -20,34 +20,63 @@ public class EntityTypeUrnMapper { static final Map ENTITY_NAME_TO_ENTITY_TYPE_URN = ImmutableMap.builder() + .put(Constants.DOMAIN_ENTITY_NAME, "urn:li:entityType:datahub.domain") .put(Constants.DATASET_ENTITY_NAME, "urn:li:entityType:datahub.dataset") - .put(Constants.ROLE_ENTITY_NAME, "urn:li:entityType:datahub.role") .put(Constants.CORP_USER_ENTITY_NAME, "urn:li:entityType:datahub.corpuser") .put(Constants.CORP_GROUP_ENTITY_NAME, "urn:li:entityType:datahub.corpGroup") .put(Constants.DATA_PLATFORM_ENTITY_NAME, "urn:li:entityType:datahub.dataPlatform") + .put( + Constants.ER_MODEL_RELATIONSHIP_ENTITY_NAME, + "urn:li:entityType:datahub.erModelRelationship") .put(Constants.DASHBOARD_ENTITY_NAME, "urn:li:entityType:datahub.dashboard") + .put(Constants.NOTEBOOK_ENTITY_NAME, "urn:li:entityType:datahub.notebook") .put(Constants.CHART_ENTITY_NAME, "urn:li:entityType:datahub.chart") - .put(Constants.TAG_ENTITY_NAME, "urn:li:entityType:datahub.tag") .put(Constants.DATA_FLOW_ENTITY_NAME, "urn:li:entityType:datahub.dataFlow") .put(Constants.DATA_JOB_ENTITY_NAME, "urn:li:entityType:datahub.dataJob") + .put(Constants.TAG_ENTITY_NAME, "urn:li:entityType:datahub.tag") .put(Constants.GLOSSARY_TERM_ENTITY_NAME, "urn:li:entityType:datahub.glossaryTerm") .put(Constants.GLOSSARY_NODE_ENTITY_NAME, "urn:li:entityType:datahub.glossaryNode") + .put(Constants.CONTAINER_ENTITY_NAME, "urn:li:entityType:datahub.container") .put(Constants.ML_MODEL_ENTITY_NAME, "urn:li:entityType:datahub.mlModel") .put(Constants.ML_MODEL_GROUP_ENTITY_NAME, "urn:li:entityType:datahub.mlModelGroup") .put(Constants.ML_FEATURE_TABLE_ENTITY_NAME, "urn:li:entityType:datahub.mlFeatureTable") .put(Constants.ML_FEATURE_ENTITY_NAME, "urn:li:entityType:datahub.mlFeature") .put(Constants.ML_PRIMARY_KEY_ENTITY_NAME, "urn:li:entityType:datahub.mlPrimaryKey") - .put(Constants.CONTAINER_ENTITY_NAME, "urn:li:entityType:datahub.container") - .put(Constants.DOMAIN_ENTITY_NAME, "urn:li:entityType:datahub.domain") - .put(Constants.NOTEBOOK_ENTITY_NAME, "urn:li:entityType:datahub.notebook") + .put( + Constants.INGESTION_SOURCE_ENTITY_NAME, + "urn:li:entityType:datahub.dataHubIngestionSource") + .put( + Constants.EXECUTION_REQUEST_ENTITY_NAME, + "urn:li:entityType:datahub.dataHubExecutionRequest") + .put(Constants.ASSERTION_ENTITY_NAME, "urn:li:entityType:datahub.assertion") + .put( + Constants.DATA_PROCESS_INSTANCE_ENTITY_NAME, + "urn:li:entityType:datahub.dataProcessInstance") .put( Constants.DATA_PLATFORM_INSTANCE_ENTITY_NAME, "urn:li:entityType:datahub.dataPlatformInstance") + .put(Constants.ACCESS_TOKEN_ENTITY_NAME, "urn:li:entityType:datahub.dataHubAccessToken") .put(Constants.TEST_ENTITY_NAME, "urn:li:entityType:datahub.test") + .put(Constants.POLICY_ENTITY_NAME, "urn:li:entityType:datahub.dataHubPolicy") + .put(Constants.DATAHUB_ROLE_ENTITY_NAME, "urn:li:entityType:datahub.dataHubRole") + .put(Constants.POST_ENTITY_NAME, "urn:li:entityType:datahub.post") + .put(Constants.SCHEMA_FIELD_ENTITY_NAME, "urn:li:entityType:datahub.schemaField") .put(Constants.DATAHUB_VIEW_ENTITY_NAME, "urn:li:entityType:datahub.dataHubView") + .put(Constants.QUERY_ENTITY_NAME, "urn:li:entityType:datahub.query") .put(Constants.DATA_PRODUCT_ENTITY_NAME, "urn:li:entityType:datahub.dataProduct") - .put(Constants.ASSERTION_ENTITY_NAME, "urn:li:entityType:datahub.assertion") - .put(Constants.SCHEMA_FIELD_ENTITY_NAME, "urn:li:entityType:datahub.schemaField") + .put(Constants.OWNERSHIP_TYPE_ENTITY_NAME, "urn:li:entityType:datahub.ownershipType") + .put(Constants.INCIDENT_ENTITY_NAME, "urn:li:entityType:datahub.incident") + .put(Constants.ROLE_ENTITY_NAME, "urn:li:entityType:datahub.role") + .put( + Constants.STRUCTURED_PROPERTY_ENTITY_NAME, + "urn:li:entityType:datahub.structuredProperty") + .put(Constants.FORM_ENTITY_NAME, "urn:li:entityType:datahub.form") + .put(Constants.DATA_TYPE_ENTITY_NAME, "urn:li:entityType:datahub.dataType") + .put(Constants.ENTITY_TYPE_ENTITY_NAME, "urn:li:entityType:datahub.entityType") + .put(Constants.RESTRICTED_ENTITY_NAME, "urn:li:entityType:datahub.restricted") + .put( + Constants.BUSINESS_ATTRIBUTE_ENTITY_NAME, + "urn:li:entityType:datahub.businessAttribute") .build(); private static final Map ENTITY_TYPE_URN_TO_NAME = diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/mappers/MapperUtils.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/mappers/MapperUtils.java index 7dd12d62765c60..0eb74210971d9f 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/mappers/MapperUtils.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/mappers/MapperUtils.java @@ -5,9 +5,11 @@ import com.linkedin.common.UrnArray; import com.linkedin.common.urn.Urn; +import com.linkedin.data.template.StringMap; import com.linkedin.datahub.graphql.QueryContext; import com.linkedin.datahub.graphql.generated.AggregationMetadata; import com.linkedin.datahub.graphql.generated.EntityPath; +import com.linkedin.datahub.graphql.generated.ExtraProperty; import com.linkedin.datahub.graphql.generated.FacetMetadata; import com.linkedin.datahub.graphql.generated.MatchedField; import com.linkedin.datahub.graphql.generated.SearchResult; @@ -35,7 +37,24 @@ public static SearchResult mapResult( return new SearchResult( UrnToEntityMapper.map(context, searchEntity.getEntity()), getInsightsFromFeatures(searchEntity.getFeatures()), - getMatchedFieldEntry(context, searchEntity.getMatchedFields())); + getMatchedFieldEntry(context, searchEntity.getMatchedFields()), + getExtraProperties(searchEntity.getExtraFields())); + } + + private static List getExtraProperties(@Nullable StringMap extraFields) { + if (extraFields == null) { + return List.of(); + } else { + return extraFields.entrySet().stream() + .map( + entry -> { + ExtraProperty extraProperty = new ExtraProperty(); + extraProperty.setName(entry.getKey()); + extraProperty.setValue(entry.getValue()); + return extraProperty; + }) + .collect(Collectors.toList()); + } } public static FacetMetadata mapFacet( diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldMapper.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldMapper.java index 85a6b9108cb54e..b1f27357d45504 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldMapper.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldMapper.java @@ -1,14 +1,15 @@ package com.linkedin.datahub.graphql.types.schemafield; -import static com.linkedin.metadata.Constants.BUSINESS_ATTRIBUTE_ASPECT; -import static com.linkedin.metadata.Constants.STRUCTURED_PROPERTIES_ASPECT_NAME; +import static com.linkedin.metadata.Constants.*; import com.linkedin.businessattribute.BusinessAttributes; +import com.linkedin.common.Documentation; import com.linkedin.common.urn.Urn; import com.linkedin.datahub.graphql.QueryContext; import com.linkedin.datahub.graphql.generated.EntityType; import com.linkedin.datahub.graphql.generated.SchemaFieldEntity; import com.linkedin.datahub.graphql.types.businessattribute.mappers.BusinessAttributesMapper; +import com.linkedin.datahub.graphql.types.common.mappers.DocumentationMapper; import com.linkedin.datahub.graphql.types.common.mappers.UrnToEntityMapper; import com.linkedin.datahub.graphql.types.common.mappers.util.MappingHelper; import com.linkedin.datahub.graphql.types.mappers.ModelMapper; @@ -46,6 +47,10 @@ public SchemaFieldEntity apply( (((schemaField, dataMap) -> schemaField.setBusinessAttributes( BusinessAttributesMapper.map(new BusinessAttributes(dataMap), entityUrn))))); + mappingHelper.mapToResult( + DOCUMENTATION_ASPECT_NAME, + (entity, dataMap) -> + entity.setDocumentation(DocumentationMapper.map(context, new Documentation(dataMap)))); return result; } diff --git a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldType.java b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldType.java index f9fd7c7b819c56..2fa26d8cf2cdd7 100644 --- a/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldType.java +++ b/datahub-graphql-core/src/main/java/com/linkedin/datahub/graphql/types/schemafield/SchemaFieldType.java @@ -1,8 +1,6 @@ package com.linkedin.datahub.graphql.types.schemafield; -import static com.linkedin.metadata.Constants.BUSINESS_ATTRIBUTE_ASPECT; -import static com.linkedin.metadata.Constants.SCHEMA_FIELD_ENTITY_NAME; -import static com.linkedin.metadata.Constants.STRUCTURED_PROPERTIES_ASPECT_NAME; +import static com.linkedin.metadata.Constants.*; import com.google.common.collect.ImmutableSet; import com.linkedin.common.urn.Urn; @@ -32,7 +30,8 @@ public class SchemaFieldType implements com.linkedin.datahub.graphql.types.EntityType { public static final Set ASPECTS_TO_FETCH = - ImmutableSet.of(STRUCTURED_PROPERTIES_ASPECT_NAME, BUSINESS_ATTRIBUTE_ASPECT); + ImmutableSet.of( + STRUCTURED_PROPERTIES_ASPECT_NAME, BUSINESS_ATTRIBUTE_ASPECT, DOCUMENTATION_ASPECT_NAME); private final EntityClient _entityClient; private final FeatureFlags _featureFlags; diff --git a/datahub-graphql-core/src/main/resources/app.graphql b/datahub-graphql-core/src/main/resources/app.graphql index 23c2468bae19a1..262d2384d84ada 100644 --- a/datahub-graphql-core/src/main/resources/app.graphql +++ b/datahub-graphql-core/src/main/resources/app.graphql @@ -17,6 +17,11 @@ extend type Query { Requires the 'Manage Global Views' Platform Privilege. """ globalViewsSettings: GlobalViewsSettings + + """ + Fetch the global settings related to the docs propagation feature. + """ + docPropagationSettings: DocPropagationSettings } extend type Mutation { @@ -25,6 +30,11 @@ extend type Mutation { Requires the 'Manage Global Views' Platform Privilege. """ updateGlobalViewsSettings(input: UpdateGlobalViewsSettingsInput!): Boolean! + + """ + Update the doc propagation settings. + """ + updateDocPropagationSettings(input: UpdateDocPropagationSettingsInput!): Boolean! } """ @@ -469,7 +479,7 @@ type FeatureFlagsConfig { platformBrowseV2: Boolean! """ - Whether we should show CTAs in the UI related to moving to Managed DataHub by Acryl. + Whether we should show CTAs in the UI related to moving to DataHub Cloud by Acryl. """ showAcrylInfo: Boolean! """ @@ -498,6 +508,11 @@ type FeatureFlagsConfig { """ dataContractsEnabled: Boolean! + """ + Whether dataset names are editable + """ + editableDatasetNameEnabled: Boolean! + """ If turned on, all siblings will be separated with no way to get to a "combined" sibling view """ @@ -525,3 +540,23 @@ type GlobalViewsSettings { """ defaultView: String } + +""" +Input required to update doc propagation settings. +""" +input UpdateDocPropagationSettingsInput { + """ + The default doc propagation setting for the platform. + """ + docColumnPropagation: Boolean +} + +""" +Global (platform-level) settings related to the doc propagation feature +""" +type DocPropagationSettings { + """ + The default doc propagation setting for the platform. + """ + docColumnPropagation: Boolean +} \ No newline at end of file diff --git a/datahub-graphql-core/src/main/resources/common.graphql b/datahub-graphql-core/src/main/resources/common.graphql new file mode 100644 index 00000000000000..bac56c97f61cf7 --- /dev/null +++ b/datahub-graphql-core/src/main/resources/common.graphql @@ -0,0 +1,49 @@ +""" +Object containing the documentation aspect for an entity +""" +type Documentation { + """ + Structured properties on this entity + """ + documentations: [DocumentationAssociation!]! +} + +""" +Object containing the documentation aspect for an entity +""" +type DocumentationAssociation { + """ + Structured properties on this entity + """ + documentation: String! + + """ + Information about who, why, and how this metadata was applied + """ + attribution: MetadataAttribution +} + +""" +Information about who, why, and how this metadata was applied +""" +type MetadataAttribution { + """ + The time this metadata was applied + """ + time: Long! + + """ + The actor responsible for this metadata application + """ + actor: Entity! + + """ + The source of this metadata application. If propagated, this will be an action. + """ + source: Entity + + """ + Extra details about how this metadata was applied + """ + sourceDetail: [StringMapEntry!] +} diff --git a/datahub-graphql-core/src/main/resources/entity.graphql b/datahub-graphql-core/src/main/resources/entity.graphql index 246ace2fc0f5f1..52e81f8094dea6 100644 --- a/datahub-graphql-core/src/main/resources/entity.graphql +++ b/datahub-graphql-core/src/main/resources/entity.graphql @@ -68,6 +68,17 @@ type Query { Fetch a Tag by primary key (urn) """ tag(urn: String!): Tag + + """ + Fetch a View by primary key (urn) + """ + view(urn: String!): DataHubView + + """ + Fetch a Form by primary key (urn) + """ + form(urn: String!): Form + """ Fetch a Role by primary key (urn) """ @@ -890,7 +901,7 @@ type Mutation { """ Creates a filter for a form to apply it to certain entities. Entities that match this filter will have a given form applied to them. - This feature is ONLY supported in Acryl DataHub. + This feature is ONLY supported in DataHub Cloud. """ createDynamicFormAssignment(input: CreateDynamicFormAssignmentInput!): Boolean @@ -1267,6 +1278,11 @@ input RelationshipsInput { The number of results to be returned """ count: Int + + """ + Whether to include soft-deleted, related, entities + """ + includeSoftDelete: Boolean = true } """ @@ -3220,6 +3236,11 @@ type SchemaFieldEntity implements Entity { Business Attribute associated with the field """ businessAttributes: BusinessAttributes + + """ + Documentation aspect for this schema field + """ + documentation: Documentation } """ @@ -3461,6 +3482,11 @@ type DatasetEditableProperties { Description of the Dataset """ description: String + + """ + Editable name of the Dataset + """ + name: String } """ @@ -4829,6 +4855,10 @@ input DatasetEditablePropertiesUpdate { Writable description aka documentation for a Dataset """ description: String! + """ + Editable name of the Dataset + """ + name: String } """ @@ -11244,6 +11274,21 @@ input CreatePostInput { The content of the post """ content: UpdatePostContentInput! + + """ + Optional target URN for the post + """ + resourceUrn: String + + """ + An optional type of a sub resource to attach the Tag to + """ + subResourceType: SubResourceType + + """ + Optional target subresource for the post + """ + subResource: String } """ diff --git a/datahub-graphql-core/src/main/resources/search.graphql b/datahub-graphql-core/src/main/resources/search.graphql index c7b5e61e9831c8..84e81e9096a3b9 100644 --- a/datahub-graphql-core/src/main/resources/search.graphql +++ b/datahub-graphql-core/src/main/resources/search.graphql @@ -582,6 +582,18 @@ type SearchResults { suggestions: [SearchSuggestion!] } +type ExtraProperty { + """ + Name of the extra property + """ + name: String! + + """ + Value of the extra property + """ + value: String! +} + """ An individual search result hit """ @@ -600,6 +612,11 @@ type SearchResult { Matched field hint """ matchedFields: [MatchedField!]! + + """ + Additional properties about the search result. Used for rendering in the UI + """ + extraProperties: [ExtraProperty!] } """ @@ -1372,7 +1389,12 @@ input SearchSortInput { """ A criterion to sort search results on """ - sortCriterion: SortCriterion! + sortCriterion: SortCriterion @deprecated(reason: "Use sortCriteria instead") + + """ + A list of values to sort search results on + """ + sortCriteria: [SortCriterion!] } """ diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/TestUtils.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/TestUtils.java index 0df5d162bab442..522e4be0ec5ec2 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/TestUtils.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/TestUtils.java @@ -12,14 +12,19 @@ import com.datahub.plugins.auth.authorization.Authorizer; import com.linkedin.common.AuditStamp; import com.linkedin.common.urn.UrnUtils; +import com.linkedin.entity.client.EntityClient; import com.linkedin.metadata.entity.EntityService; import com.linkedin.metadata.entity.ebean.batch.AspectsBatchImpl; import com.linkedin.metadata.entity.ebean.batch.ChangeItemImpl; import com.linkedin.mxe.MetadataChangeProposal; +import com.linkedin.r2.RemoteInvocationException; import io.datahubproject.metadata.context.OperationContext; import io.datahubproject.test.metadata.context.TestOperationContexts; import java.util.List; +import java.util.stream.Collectors; +import org.mockito.ArgumentCaptor; import org.mockito.Mockito; +import org.testng.Assert; public class TestUtils { @@ -120,53 +125,89 @@ public static QueryContext getMockDenyContext(String actorUrn, AuthorizationRequ } public static void verifyIngestProposal( - EntityService mockService, - int numberOfInvocations, - MetadataChangeProposal proposal) { + EntityService mockService, int numberOfInvocations, MetadataChangeProposal proposal) { verifyIngestProposal(mockService, numberOfInvocations, List.of(proposal)); } public static void verifyIngestProposal( - EntityService mockService, + EntityService mockService, int numberOfInvocations, List proposals) { - AspectsBatchImpl batch = - AspectsBatchImpl.builder() - .mcps( - proposals, - mock(AuditStamp.class), - TestOperationContexts.emptyRetrieverContext(null)) - .build(); + ArgumentCaptor batchCaptor = ArgumentCaptor.forClass(AspectsBatchImpl.class); + Mockito.verify(mockService, Mockito.times(numberOfInvocations)) - .ingestProposal(any(), Mockito.eq(batch), Mockito.eq(false)); + .ingestProposal(any(), batchCaptor.capture(), Mockito.eq(false)); + + // check has time + Assert.assertTrue( + batchCaptor.getValue().getItems().stream() + .allMatch(prop -> prop.getSystemMetadata().getLastObserved() > 0L)); + + // check without time + Assert.assertEquals( + batchCaptor.getValue().getItems().stream() + .map(m -> m.getSystemMetadata().setLastObserved(0)) + .collect(Collectors.toList()), + proposals.stream() + .map(m -> m.getSystemMetadata().setLastObserved(0)) + .collect(Collectors.toList())); } public static void verifySingleIngestProposal( - EntityService mockService, + EntityService mockService, int numberOfInvocations, - MetadataChangeProposal proposal) { + MetadataChangeProposal expectedProposal) { + ArgumentCaptor proposalCaptor = + ArgumentCaptor.forClass(MetadataChangeProposal.class); + Mockito.verify(mockService, Mockito.times(numberOfInvocations)) - .ingestProposal(any(), Mockito.eq(proposal), any(AuditStamp.class), Mockito.eq(false)); + .ingestProposal(any(), proposalCaptor.capture(), any(AuditStamp.class), Mockito.eq(false)); + + // check has time + Assert.assertTrue(proposalCaptor.getValue().getSystemMetadata().getLastObserved() > 0L); + + // check without time + proposalCaptor.getValue().getSystemMetadata().setLastObserved(0L); + expectedProposal.getSystemMetadata().setLastObserved(0L); + Assert.assertEquals(proposalCaptor.getValue(), expectedProposal); } - public static void verifyIngestProposal( - EntityService mockService, int numberOfInvocations) { + public static void verifyIngestProposal(EntityService mockService, int numberOfInvocations) { Mockito.verify(mockService, Mockito.times(numberOfInvocations)) .ingestProposal(any(), any(AspectsBatchImpl.class), Mockito.eq(false)); } public static void verifySingleIngestProposal( - EntityService mockService, int numberOfInvocations) { + EntityService mockService, int numberOfInvocations) { Mockito.verify(mockService, Mockito.times(numberOfInvocations)) .ingestProposal( any(), any(MetadataChangeProposal.class), any(AuditStamp.class), Mockito.eq(false)); } - public static void verifyNoIngestProposal(EntityService mockService) { + public static void verifyNoIngestProposal(EntityService mockService) { Mockito.verify(mockService, Mockito.times(0)) .ingestProposal(any(), any(AspectsBatchImpl.class), Mockito.anyBoolean()); } + public static void verifyIngestProposal( + EntityClient mockClient, int numberOfInvocations, MetadataChangeProposal expectedProposal) + throws RemoteInvocationException { + + ArgumentCaptor proposalCaptor = + ArgumentCaptor.forClass(MetadataChangeProposal.class); + + Mockito.verify(mockClient, Mockito.times(numberOfInvocations)) + .ingestProposal(any(), proposalCaptor.capture(), Mockito.eq(false)); + + // check has time + Assert.assertTrue(proposalCaptor.getValue().getSystemMetadata().getLastObserved() > 0L); + + // check without time + proposalCaptor.getValue().getSystemMetadata().setLastObserved(0L); + expectedProposal.getSystemMetadata().setLastObserved(0L); + Assert.assertEquals(proposalCaptor.getValue(), expectedProposal); + } + private TestUtils() {} } diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ResolverUtilsTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ResolverUtilsTest.java index f98284e92ede58..b01aacaaab65ca 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ResolverUtilsTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ResolverUtilsTest.java @@ -1,6 +1,7 @@ package com.linkedin.datahub.graphql.resolvers; import static com.linkedin.datahub.graphql.resolvers.ResolverUtils.*; +import static com.linkedin.metadata.search.utils.QueryUtils.buildFilterWithUrns; import static org.mockito.Mockito.mock; import static org.testng.AssertJUnit.assertEquals; @@ -13,6 +14,8 @@ import com.linkedin.datahub.graphql.generated.FacetFilterInput; import com.linkedin.datahub.graphql.generated.FilterOperator; import com.linkedin.metadata.aspect.AspectRetriever; +import com.linkedin.metadata.config.DataHubAppConfiguration; +import com.linkedin.metadata.config.MetadataChangeProposalConfig; import com.linkedin.metadata.query.filter.Condition; import com.linkedin.metadata.query.filter.ConjunctiveCriterion; import com.linkedin.metadata.query.filter.ConjunctiveCriterionArray; @@ -102,7 +105,18 @@ public void testBuildFilterWithUrns() throws Exception { new ConjunctiveCriterionArray( ImmutableList.of(new ConjunctiveCriterion().setAnd(andCriterionArray)))); - Filter finalFilter = buildFilterWithUrns(urns, filter); + DataHubAppConfiguration appConfig = new DataHubAppConfiguration(); + appConfig.setMetadataChangeProposal(new MetadataChangeProposalConfig()); + appConfig + .getMetadataChangeProposal() + .setSideEffects(new MetadataChangeProposalConfig.SideEffectsConfig()); + appConfig + .getMetadataChangeProposal() + .getSideEffects() + .setSchemaField(new MetadataChangeProposalConfig.SideEffectConfig()); + appConfig.getMetadataChangeProposal().getSideEffects().getSchemaField().setEnabled(true); + + Filter finalFilter = buildFilterWithUrns(appConfig, urns, filter); Criterion urnsCriterion = new Criterion() diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/assertion/DeleteAssertionResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/assertion/DeleteAssertionResolverTest.java index 4dd09c1e5cfd5f..948088175e8e63 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/assertion/DeleteAssertionResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/assertion/DeleteAssertionResolverTest.java @@ -31,7 +31,7 @@ public class DeleteAssertionResolverTest { public void testGetSuccess() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ASSERTION_URN)), eq(true))) .thenReturn(true); Mockito.when( @@ -77,7 +77,7 @@ public void testGetSuccess() throws Exception { public void testGetSuccessNoAssertionInfoFound() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ASSERTION_URN)), eq(true))) .thenReturn(true); Mockito.when( @@ -117,7 +117,7 @@ public void testGetSuccessAssertionAlreadyRemoved() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ASSERTION_URN)), eq(true))) .thenReturn(false); @@ -149,7 +149,7 @@ public void testGetSuccessAssertionAlreadyRemoved() throws Exception { public void testGetUnauthorized() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ASSERTION_URN)), eq(true))) .thenReturn(true); Mockito.when( @@ -186,7 +186,7 @@ public void testGetEntityClientException() throws Exception { .when(mockClient) .deleteEntity(any(), Mockito.any()); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ASSERTION_URN)), eq(true))) .thenReturn(true); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolverTest.java index 6c876226a45e60..020f74475ea607 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/auth/ListAccessTokensResolverTest.java @@ -12,11 +12,11 @@ import com.linkedin.datahub.graphql.generated.ListAccessTokenResult; import com.linkedin.entity.client.EntityClient; import com.linkedin.metadata.Constants; -import com.linkedin.metadata.query.filter.SortCriterion; import com.linkedin.metadata.search.SearchEntityArray; import com.linkedin.metadata.search.SearchResult; import graphql.schema.DataFetchingEnvironment; import java.util.Collections; +import java.util.List; import org.mockito.Mockito; import org.testng.annotations.Test; @@ -47,7 +47,7 @@ public void testGetSuccess() throws Exception { Mockito.eq(Constants.ACCESS_TOKEN_ENTITY_NAME), Mockito.eq(""), Mockito.eq(buildFilter(filters, Collections.emptyList(), null)), - Mockito.any(SortCriterion.class), + Mockito.any(List.class), Mockito.eq(input.getStart()), Mockito.eq(input.getCount()))) .thenReturn( diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/AddBusinessAttributeResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/AddBusinessAttributeResolverTest.java index 1a0e558e309d7b..280adcf896d5e9 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/AddBusinessAttributeResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/AddBusinessAttributeResolverTest.java @@ -29,7 +29,7 @@ public class AddBusinessAttributeResolverTest { "urn:li:businessAttribute:7d0c4283-de02-4043-aaf2-698b04274658"; private static final String RESOURCE_URN = "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:hive,SampleCypressHiveDataset,PROD),field_bar)"; - private EntityService mockService; + private EntityService mockService; private QueryContext mockContext; private DataFetchingEnvironment mockEnv; diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/CreateBusinessAttributeResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/CreateBusinessAttributeResolverTest.java index 574b81bb86630f..2623a6b25811ad 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/CreateBusinessAttributeResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/CreateBusinessAttributeResolverTest.java @@ -56,7 +56,7 @@ public class CreateBusinessAttributeResolverTest { TEST_BUSINESS_ATTRIBUTE_DESCRIPTION, SchemaFieldDataType.BOOLEAN); private EntityClient mockClient; - private EntityService mockService; + private EntityService mockService; private QueryContext mockContext; private DataFetchingEnvironment mockEnv; private BusinessAttributeService businessAttributeService; diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/RemoveBusinessAttributeResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/RemoveBusinessAttributeResolverTest.java index 32a12d3ee8607e..3e7df667160624 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/RemoveBusinessAttributeResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/businessattribute/RemoveBusinessAttributeResolverTest.java @@ -31,7 +31,7 @@ public class RemoveBusinessAttributeResolverTest { "urn:li:businessAttribute:7d0c4283-de02-4043-aaf2-698b04274658"; private static final String RESOURCE_URN = "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:hive,SampleCypressHiveDataset,PROD),field_bar)"; - private EntityService mockService; + private EntityService mockService; private QueryContext mockContext; private DataFetchingEnvironment mockEnv; diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolverTest.java index c63c9bccab68b5..48732727762eea 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/container/ContainerEntitiesResolverTest.java @@ -62,7 +62,7 @@ public void testGetSuccess() throws Exception { new CriterionArray(ImmutableList.of(filterCriterion)))))), Mockito.eq(0), Mockito.eq(20), - Mockito.eq(null), + Mockito.eq(Collections.emptyList()), Mockito.eq(null))) .thenReturn( new SearchResult() diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/DataContractUtilsTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/DataContractUtilsTest.java index 18ede7c306e424..646c72422aa618 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/DataContractUtilsTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/DataContractUtilsTest.java @@ -12,6 +12,7 @@ import com.linkedin.common.urn.Urn; import com.linkedin.common.urn.UrnUtils; import com.linkedin.datahub.graphql.QueryContext; +import com.linkedin.metadata.config.DataHubAppConfiguration; import graphql.Assert; import io.datahubproject.metadata.context.OperationContext; import io.datahubproject.test.metadata.context.TestOperationContexts; @@ -56,6 +57,11 @@ public OperationContext getOperationContext() { return TestOperationContexts.userContextNoSearchAuthorization( getAuthorizer(), getAuthentication()); } + + @Override + public DataHubAppConfiguration getDataHubAppConfig() { + return new DataHubAppConfiguration(); + } }, testUrn); Assert.assertTrue(result); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/UpsertDataContractResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/UpsertDataContractResolverTest.java index 601fc56b251495..bf01b54c7ed726 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/UpsertDataContractResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/datacontract/UpsertDataContractResolverTest.java @@ -2,6 +2,7 @@ import static com.linkedin.datahub.graphql.TestUtils.*; import static com.linkedin.datahub.graphql.resolvers.datacontract.EntityDataContractResolver.*; +import static com.linkedin.metadata.utils.SystemMetadataUtils.createDefaultSystemMetadata; import static org.mockito.ArgumentMatchers.any; import static org.testng.Assert.*; @@ -43,14 +44,19 @@ import com.linkedin.metadata.utils.EntityKeyUtils; import com.linkedin.metadata.utils.GenericRecordUtils; import com.linkedin.mxe.MetadataChangeProposal; -import com.linkedin.mxe.SystemMetadata; import com.linkedin.r2.RemoteInvocationException; import graphql.schema.DataFetchingEnvironment; import io.datahubproject.metadata.context.OperationContext; import java.util.Collections; +import java.util.List; import java.util.concurrent.CompletionException; +import java.util.stream.Collectors; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; import org.testng.Assert; +import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; public class UpsertDataContractResolverTest { @@ -83,9 +89,15 @@ public class UpsertDataContractResolverTest { private static final Urn TEST_ACTOR_URN = UrnUtils.getUrn("urn:li:corpuser:test"); + @Captor private ArgumentCaptor> proposalCaptor; + + @BeforeTest + public void init() { + MockitoAnnotations.openMocks(this); + } + @Test public void testGetSuccessCreate() throws Exception { - // Expected results final DataContractKey key = new DataContractKey(); key.setId("test-id"); @@ -127,7 +139,8 @@ public void testGetSuccessCreate() throws Exception { propertiesProposal.setEntityUrn(dataContractUrn); propertiesProposal.setEntityType(Constants.DATA_CONTRACT_ENTITY_NAME); propertiesProposal.setSystemMetadata( - new SystemMetadata().setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); + createDefaultSystemMetadata() + .setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); propertiesProposal.setAspectName(Constants.DATA_CONTRACT_PROPERTIES_ASPECT_NAME); propertiesProposal.setAspect(GenericRecordUtils.serializeAspect(props)); propertiesProposal.setChangeType(ChangeType.UPSERT); @@ -136,16 +149,29 @@ public void testGetSuccessCreate() throws Exception { statusProposal.setEntityUrn(dataContractUrn); statusProposal.setEntityType(Constants.DATA_CONTRACT_ENTITY_NAME); statusProposal.setSystemMetadata( - new SystemMetadata().setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); + createDefaultSystemMetadata() + .setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); statusProposal.setAspectName(Constants.DATA_CONTRACT_STATUS_ASPECT_NAME); statusProposal.setAspect(GenericRecordUtils.serializeAspect(status)); statusProposal.setChangeType(ChangeType.UPSERT); Mockito.verify(mockClient, Mockito.times(1)) .batchIngestProposals( - any(OperationContext.class), - Mockito.eq(ImmutableList.of(propertiesProposal, statusProposal)), - Mockito.eq(false)); + any(OperationContext.class), proposalCaptor.capture(), Mockito.eq(false)); + + // check has time + Assert.assertTrue( + proposalCaptor.getValue().stream() + .allMatch(prop -> prop.getSystemMetadata().getLastObserved() > 0L)); + + // check without time + Assert.assertEquals( + proposalCaptor.getValue().stream() + .map(m -> m.getSystemMetadata().setLastObserved(0)) + .collect(Collectors.toList()), + List.of(propertiesProposal, statusProposal).stream() + .map(m -> m.getSystemMetadata().setLastObserved(0)) + .collect(Collectors.toList())); Assert.assertEquals(result.getUrn(), TEST_CONTRACT_URN.toString()); } @@ -188,7 +214,8 @@ public void testGetSuccessUpdate() throws Exception { propertiesProposal.setEntityUrn(TEST_CONTRACT_URN); propertiesProposal.setEntityType(Constants.DATA_CONTRACT_ENTITY_NAME); propertiesProposal.setSystemMetadata( - new SystemMetadata().setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); + createDefaultSystemMetadata() + .setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); propertiesProposal.setAspectName(Constants.DATA_CONTRACT_PROPERTIES_ASPECT_NAME); propertiesProposal.setAspect(GenericRecordUtils.serializeAspect(props)); propertiesProposal.setChangeType(ChangeType.UPSERT); @@ -197,16 +224,29 @@ public void testGetSuccessUpdate() throws Exception { statusProposal.setEntityUrn(TEST_CONTRACT_URN); statusProposal.setEntityType(Constants.DATA_CONTRACT_ENTITY_NAME); statusProposal.setSystemMetadata( - new SystemMetadata().setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); + createDefaultSystemMetadata() + .setProperties(new StringMap(ImmutableMap.of("appSource", "ui")))); statusProposal.setAspectName(Constants.DATA_CONTRACT_STATUS_ASPECT_NAME); statusProposal.setAspect(GenericRecordUtils.serializeAspect(status)); statusProposal.setChangeType(ChangeType.UPSERT); Mockito.verify(mockClient, Mockito.times(1)) .batchIngestProposals( - any(OperationContext.class), - Mockito.eq(ImmutableList.of(propertiesProposal, statusProposal)), - Mockito.eq(false)); + any(OperationContext.class), proposalCaptor.capture(), Mockito.eq(false)); + + // check has time + Assert.assertTrue( + proposalCaptor.getValue().stream() + .allMatch(prop -> prop.getSystemMetadata().getLastObserved() > 0L)); + + // check without time + Assert.assertEquals( + proposalCaptor.getValue().stream() + .map(m -> m.getSystemMetadata().setLastObserved(0)) + .collect(Collectors.toList()), + List.of(propertiesProposal, statusProposal).stream() + .map(m -> m.getSystemMetadata().setLastObserved(0)) + .collect(Collectors.toList())); Assert.assertEquals(result.getUrn(), TEST_CONTRACT_URN.toString()); } diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/delete/BatchUpdateSoftDeletedResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/delete/BatchUpdateSoftDeletedResolverTest.java index 02c9212e7f563d..48b3dc5f6db943 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/delete/BatchUpdateSoftDeletedResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/delete/BatchUpdateSoftDeletedResolverTest.java @@ -33,7 +33,7 @@ public class BatchUpdateSoftDeletedResolverTest { @Test public void testGetSuccessNoExistingStatus() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -84,7 +84,7 @@ public void testGetSuccessNoExistingStatus() throws Exception { public void testGetSuccessExistingStatus() throws Exception { final Status originalStatus = new Status().setRemoved(true); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -133,7 +133,7 @@ public void testGetSuccessExistingStatus() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -173,7 +173,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchUpdateSoftDeletedResolver resolver = new BatchUpdateSoftDeletedResolver(mockService); @@ -193,7 +193,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/BatchUpdateDeprecationResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/BatchUpdateDeprecationResolverTest.java index b7324d210fc212..265a1a2e0af5ba 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/BatchUpdateDeprecationResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/BatchUpdateDeprecationResolverTest.java @@ -34,7 +34,7 @@ public class BatchUpdateDeprecationResolverTest { @Test public void testGetSuccessNoExistingDeprecation() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -99,7 +99,7 @@ public void testGetSuccessExistingDeprecation() throws Exception { .setNote("") .setActor(UrnUtils.getUrn("urn:li:corpuser:test")); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -158,7 +158,7 @@ public void testGetSuccessExistingDeprecation() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -202,7 +202,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchUpdateDeprecationResolver resolver = new BatchUpdateDeprecationResolver(mockService); @@ -226,7 +226,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/UpdateDeprecationResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/UpdateDeprecationResolverTest.java index 09894ccf49f227..ab180724da46df 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/UpdateDeprecationResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/deprecation/UpdateDeprecationResolverTest.java @@ -59,7 +59,7 @@ public void testGetSuccessNoExistingDeprecation() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(true); @@ -83,7 +83,7 @@ public void testGetSuccessNoExistingDeprecation() throws Exception { MutationUtils.buildMetadataChangeProposalWithUrn( UrnUtils.getUrn(TEST_ENTITY_URN), DEPRECATION_ASPECT_NAME, newDeprecation); - Mockito.verify(mockClient, Mockito.times(1)).ingestProposal(any(), eq(proposal), eq(false)); + verifyIngestProposal(mockClient, 1, proposal); Mockito.verify(mockService, Mockito.times(1)) .exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -120,7 +120,7 @@ public void testGetSuccessExistingDeprecation() throws Exception { new EnvelopedAspect() .setValue(new Aspect(originalDeprecation.data()))))))); - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(true); @@ -144,7 +144,7 @@ public void testGetSuccessExistingDeprecation() throws Exception { MutationUtils.buildMetadataChangeProposalWithUrn( UrnUtils.getUrn(TEST_ENTITY_URN), DEPRECATION_ASPECT_NAME, newDeprecation); - Mockito.verify(mockClient, Mockito.times(1)).ingestProposal(any(), eq(proposal), eq(false)); + verifyIngestProposal(mockClient, 1, proposal); Mockito.verify(mockService, Mockito.times(1)) .exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -169,7 +169,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(false); @@ -190,7 +190,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { public void testGetUnauthorized() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); UpdateDeprecationResolver resolver = new UpdateDeprecationResolver(mockClient, mockService); // Execute resolver @@ -206,7 +206,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); Mockito.doThrow(RemoteInvocationException.class) .when(mockClient) .ingestProposal(any(), Mockito.any(), anyBoolean()); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/BatchSetDomainResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/BatchSetDomainResolverTest.java index 9fec8b2fd9572c..1a9272c1335cf9 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/BatchSetDomainResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/BatchSetDomainResolverTest.java @@ -39,7 +39,7 @@ public class BatchSetDomainResolverTest { @Test public void testGetSuccessNoExistingDomains() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -105,7 +105,7 @@ public void testGetSuccessExistingDomains() throws Exception { new Domains() .setDomains(new UrnArray(ImmutableList.of(Urn.createFromString(TEST_DOMAIN_1_URN)))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -176,7 +176,7 @@ public void testGetSuccessUnsetDomains() throws Exception { new Domains() .setDomains(new UrnArray(ImmutableList.of(Urn.createFromString(TEST_DOMAIN_1_URN)))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -233,7 +233,7 @@ public void testGetSuccessUnsetDomains() throws Exception { @Test public void testGetFailureDomainDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -268,7 +268,7 @@ public void testGetFailureDomainDoesNotExist() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -312,7 +312,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchSetDomainResolver resolver = new BatchSetDomainResolver(mockService); @@ -334,7 +334,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/CreateDomainResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/CreateDomainResolverTest.java index 1d6c4519358b45..c0d74225a9cf1d 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/CreateDomainResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/CreateDomainResolverTest.java @@ -53,7 +53,7 @@ public class CreateDomainResolverTest { public void testGetSuccess() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); CreateDomainResolver resolver = new CreateDomainResolver(mockClient, mockService); Mockito.when(mockClient.exists(any(), Mockito.eq(TEST_DOMAIN_URN))).thenReturn(false); @@ -103,7 +103,7 @@ public void testGetSuccess() throws Exception { @Test public void testGetSuccessNoParentDomain() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); CreateDomainResolver resolver = new CreateDomainResolver(mockClient, mockService); Mockito.when(mockClient.exists(any(), Mockito.eq(TEST_DOMAIN_URN))).thenReturn(false); @@ -146,7 +146,7 @@ public void testGetSuccessNoParentDomain() throws Exception { @Test public void testGetInvalidParent() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); CreateDomainResolver resolver = new CreateDomainResolver(mockClient, mockService); Mockito.when(mockClient.exists(any(), Mockito.eq(TEST_DOMAIN_URN))).thenReturn(false); @@ -164,7 +164,7 @@ public void testGetInvalidParent() throws Exception { @Test public void testGetNameConflict() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); CreateDomainResolver resolver = new CreateDomainResolver(mockClient, mockService); Mockito.when(mockClient.exists(any(), Mockito.eq(TEST_DOMAIN_URN))).thenReturn(false); @@ -218,7 +218,7 @@ public void testGetNameConflict() throws Exception { public void testGetUnauthorized() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); CreateDomainResolver resolver = new CreateDomainResolver(mockClient, mockService); // Execute resolver @@ -235,7 +235,7 @@ public void testGetUnauthorized() throws Exception { public void testGetEntityClientException() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RemoteInvocationException.class) .when(mockClient) .ingestProposal(any(), Mockito.any(), Mockito.eq(false)); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolverTest.java index f970f9e2ea431d..ad5d7f1ef6b06f 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/DomainEntitiesResolverTest.java @@ -68,7 +68,7 @@ public void testGetSuccess() throws Exception { new CriterionArray(ImmutableList.of(filterCriterion)))))), Mockito.eq(0), Mockito.eq(20), - Mockito.eq(null), + Mockito.eq(Collections.emptyList()), Mockito.eq(null))) .thenReturn( new SearchResult() diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolverTest.java index 53a16ed5f6cc8a..c3b1a8c564855a 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/ListDomainsResolverTest.java @@ -20,6 +20,7 @@ import com.linkedin.metadata.search.SearchResult; import com.linkedin.r2.RemoteInvocationException; import graphql.schema.DataFetchingEnvironment; +import java.util.Collections; import java.util.concurrent.CompletionException; import org.mockito.Mockito; import org.testng.annotations.Test; @@ -47,9 +48,10 @@ public void testGetSuccess() throws Exception { Mockito.eq(""), Mockito.eq(DomainUtils.buildParentDomainFilter(TEST_PARENT_DOMAIN_URN)), Mockito.eq( - new SortCriterion() - .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) - .setOrder(SortOrder.DESCENDING)), + Collections.singletonList( + new SortCriterion() + .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) + .setOrder(SortOrder.DESCENDING))), Mockito.eq(0), Mockito.eq(20))) .thenReturn( @@ -90,9 +92,10 @@ public void testGetSuccessNoParentDomain() throws Exception { Mockito.eq(""), Mockito.eq(DomainUtils.buildParentDomainFilter(null)), Mockito.eq( - new SortCriterion() - .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) - .setOrder(SortOrder.DESCENDING)), + Collections.singletonList( + new SortCriterion() + .setField(DOMAIN_CREATED_TIME_INDEX_FIELD_NAME) + .setOrder(SortOrder.DESCENDING))), Mockito.eq(0), Mockito.eq(20))) .thenReturn( diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/MoveDomainResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/MoveDomainResolverTest.java index ae1dffbd5d0db8..07fad314747db8 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/MoveDomainResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/MoveDomainResolverTest.java @@ -40,7 +40,7 @@ public class MoveDomainResolverTest { private static final CorpuserUrn TEST_ACTOR_URN = new CorpuserUrn("test"); private MetadataChangeProposal setupTests( - DataFetchingEnvironment mockEnv, EntityService mockService, EntityClient mockClient) + DataFetchingEnvironment mockEnv, EntityService mockService, EntityClient mockClient) throws Exception { QueryContext mockContext = getMockAllowContext(); Mockito.when(mockContext.getAuthentication()).thenReturn(Mockito.mock(Authentication.class)); @@ -77,7 +77,7 @@ private MetadataChangeProposal setupTests( @Test public void testGetSuccess() throws Exception { - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when( mockService.exists( @@ -100,7 +100,7 @@ public void testGetSuccess() throws Exception { @Test public void testGetFailureEntityDoesNotExist() throws Exception { - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(PARENT_DOMAIN_URN)), eq(true))) .thenReturn(true); @@ -127,7 +127,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { @Test public void testGetFailureParentDoesNotExist() throws Exception { - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(PARENT_DOMAIN_URN)), eq(true))) .thenReturn(false); @@ -143,7 +143,7 @@ public void testGetFailureParentDoesNotExist() throws Exception { @Test public void testGetFailureParentIsNotDomain() throws Exception { - EntityService mockService = Mockito.mock(EntityService.class); + EntityService mockService = Mockito.mock(EntityService.class); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(PARENT_DOMAIN_URN)), eq(true))) .thenReturn(true); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/SetDomainResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/SetDomainResolverTest.java index 031ac1da8480bf..5437f1c860fde6 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/SetDomainResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/SetDomainResolverTest.java @@ -59,7 +59,7 @@ public void testGetSuccessNoExistingDomains() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(true); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_NEW_DOMAIN_URN)), eq(true))) @@ -82,8 +82,7 @@ public void testGetSuccessNoExistingDomains() throws Exception { MutationUtils.buildMetadataChangeProposalWithUrn( UrnUtils.getUrn(TEST_ENTITY_URN), DOMAINS_ASPECT_NAME, newDomains); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); Mockito.verify(mockService, Mockito.times(1)) .exists(any(), Mockito.eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -122,7 +121,7 @@ public void testGetSuccessExistingDomains() throws Exception { new EnvelopedAspect() .setValue(new Aspect(originalDomains.data()))))))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(true); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_NEW_DOMAIN_URN)), eq(true))) @@ -145,8 +144,7 @@ public void testGetSuccessExistingDomains() throws Exception { MutationUtils.buildMetadataChangeProposalWithUrn( UrnUtils.getUrn(TEST_ENTITY_URN), DOMAINS_ASPECT_NAME, newDomains); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); Mockito.verify(mockService, Mockito.times(1)) .exists(any(), Mockito.eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -175,7 +173,7 @@ public void testGetFailureDomainDoesNotExist() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(true); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_NEW_DOMAIN_URN)), eq(true))) @@ -214,7 +212,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(false); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_NEW_DOMAIN_URN)), eq(true))) @@ -237,7 +235,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { public void testGetUnauthorized() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); SetDomainResolver resolver = new SetDomainResolver(mockClient, mockService); // Execute resolver diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/UnsetDomainResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/UnsetDomainResolverTest.java index b9910e6ca3c85e..1c61963703a2ab 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/UnsetDomainResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/domain/UnsetDomainResolverTest.java @@ -58,7 +58,7 @@ public void testGetSuccessNoExistingDomains() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(true); @@ -76,8 +76,7 @@ public void testGetSuccessNoExistingDomains() throws Exception { MutationUtils.buildMetadataChangeProposalWithUrn( UrnUtils.getUrn(TEST_ENTITY_URN), DOMAINS_ASPECT_NAME, newDomains); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); Mockito.verify(mockService, Mockito.times(1)) .exists(any(), Mockito.eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -113,7 +112,7 @@ public void testGetSuccessExistingDomains() throws Exception { new EnvelopedAspect() .setValue(new Aspect(originalDomains.data()))))))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(true); @@ -131,8 +130,7 @@ public void testGetSuccessExistingDomains() throws Exception { MutationUtils.buildMetadataChangeProposalWithUrn( UrnUtils.getUrn(TEST_ENTITY_URN), DOMAINS_ASPECT_NAME, newDomains); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); Mockito.verify(mockService, Mockito.times(1)) .exists(any(), Mockito.eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -158,7 +156,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(false); @@ -178,7 +176,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { public void testGetUnauthorized() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); UnsetDomainResolver resolver = new UnsetDomainResolver(mockClient, mockService); // Execute resolver diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/embed/UpdateEmbedResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/embed/UpdateEmbedResolverTest.java index 2bb9dff29a5643..c45e620a46a73d 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/embed/UpdateEmbedResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/embed/UpdateEmbedResolverTest.java @@ -39,7 +39,7 @@ public class UpdateEmbedResolverTest { @Test public void testGetSuccessNoExistingEmbed() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -68,7 +68,6 @@ public void testGetSuccessNoExistingEmbed() throws Exception { Urn.createFromString(TEST_ENTITY_URN), EMBED_ASPECT_NAME, newEmbed); verifySingleIngestProposal(mockService, 1, proposal); - ; Mockito.verify(mockService, Mockito.times(1)) .exists(any(), Mockito.eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -79,7 +78,7 @@ public void testGetSuccessExistingEmbed() throws Exception { Embed originalEmbed = new Embed().setRenderUrl("https://otherurl.com"); // Create resolver - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -132,7 +131,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { .setUrn(Urn.createFromString(TEST_ENTITY_URN)) .setAspects(new EnvelopedAspectMap(Collections.emptyMap())))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(false); @@ -154,7 +153,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { // Create resolver - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); UpdateEmbedResolver resolver = new UpdateEmbedResolver(mockService); // Execute resolver @@ -171,7 +170,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RemoteInvocationException.class) .when(mockClient) .ingestProposal(any(), Mockito.any()); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/AddRelatedTermsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/AddRelatedTermsResolverTest.java index ffa9e4a728dda4..a8920fa9e5b3c2 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/AddRelatedTermsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/AddRelatedTermsResolverTest.java @@ -28,7 +28,7 @@ public class AddRelatedTermsResolverTest { private static final String DATASET_URN = "urn:li:dataset:(test,test,test)"; private EntityService setUpService() { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( any(), @@ -41,7 +41,7 @@ private EntityService setUpService() { @Test public void testGetSuccessIsRelatedNonExistent() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) @@ -75,7 +75,7 @@ public void testGetSuccessIsRelatedNonExistent() throws Exception { @Test public void testGetSuccessHasRelatedNonExistent() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) @@ -109,7 +109,7 @@ public void testGetSuccessHasRelatedNonExistent() throws Exception { @Test public void testGetFailAddSelfAsRelatedTerm() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) @@ -131,7 +131,7 @@ public void testGetFailAddSelfAsRelatedTerm() throws Exception { @Test public void testGetFailAddNonTermAsRelatedTerm() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) @@ -153,7 +153,7 @@ public void testGetFailAddNonTermAsRelatedTerm() throws Exception { @Test public void testGetFailAddNonExistentTermAsRelatedTerm() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) @@ -177,7 +177,7 @@ public void testGetFailAddNonExistentTermAsRelatedTerm() throws Exception { @Test public void testGetFailAddToNonExistentUrn() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) @@ -201,7 +201,7 @@ public void testGetFailAddToNonExistentUrn() throws Exception { @Test public void testGetFailAddToNonTerm() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(DATASET_URN)), eq(true))) @@ -225,7 +225,7 @@ public void testGetFailAddToNonTerm() throws Exception { @Test public void testFailNoPermissions() throws Exception { - EntityService mockService = setUpService(); + EntityService mockService = setUpService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryNodeResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryNodeResolverTest.java index 1a7e74c36733ca..0f2fa7f88cd9b6 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryNodeResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryNodeResolverTest.java @@ -2,8 +2,8 @@ import static com.linkedin.datahub.graphql.TestUtils.getMockAllowContext; import static com.linkedin.datahub.graphql.TestUtils.getMockEntityService; +import static com.linkedin.datahub.graphql.TestUtils.verifyIngestProposal; import static com.linkedin.metadata.Constants.*; -import static org.mockito.ArgumentMatchers.any; import com.datahub.authentication.Authentication; import com.linkedin.common.urn.GlossaryNodeUrn; @@ -63,7 +63,7 @@ private MetadataChangeProposal setupTest( @Test public void testGetSuccess() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); final MetadataChangeProposal proposal = setupTest(mockEnv, TEST_INPUT, "test-description", parentNodeUrn); @@ -71,14 +71,13 @@ public void testGetSuccess() throws Exception { CreateGlossaryNodeResolver resolver = new CreateGlossaryNodeResolver(mockClient, mockService); resolver.get(mockEnv).get(); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); } @Test public void testGetSuccessNoDescription() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); final MetadataChangeProposal proposal = setupTest(mockEnv, TEST_INPUT_NO_DESCRIPTION, "", parentNodeUrn); @@ -86,14 +85,13 @@ public void testGetSuccessNoDescription() throws Exception { CreateGlossaryNodeResolver resolver = new CreateGlossaryNodeResolver(mockClient, mockService); resolver.get(mockEnv).get(); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); } @Test public void testGetSuccessNoParentNode() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); final MetadataChangeProposal proposal = setupTest(mockEnv, TEST_INPUT_NO_PARENT_NODE, "test-description", null); @@ -101,7 +99,6 @@ public void testGetSuccessNoParentNode() throws Exception { CreateGlossaryNodeResolver resolver = new CreateGlossaryNodeResolver(mockClient, mockService); resolver.get(mockEnv).get(); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); } } diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryTermResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryTermResolverTest.java index 728a840d97e94e..8a51d8ea100092 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryTermResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/CreateGlossaryTermResolverTest.java @@ -2,6 +2,7 @@ import static com.linkedin.datahub.graphql.TestUtils.getMockAllowContext; import static com.linkedin.datahub.graphql.TestUtils.getMockEntityService; +import static com.linkedin.datahub.graphql.TestUtils.verifyIngestProposal; import static com.linkedin.metadata.Constants.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; @@ -81,7 +82,7 @@ private MetadataChangeProposal setupTest( @Test public void testGetSuccess() throws Exception { EntityClient mockClient = initMockClient(); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); final MetadataChangeProposal proposal = setupTest(mockEnv, TEST_INPUT, "test-description", parentNodeUrn); @@ -89,14 +90,13 @@ public void testGetSuccess() throws Exception { CreateGlossaryTermResolver resolver = new CreateGlossaryTermResolver(mockClient, mockService); resolver.get(mockEnv).get(); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); } @Test public void testGetSuccessNoDescription() throws Exception { EntityClient mockClient = initMockClient(); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); final MetadataChangeProposal proposal = setupTest(mockEnv, TEST_INPUT_NO_DESCRIPTION, "", parentNodeUrn); @@ -104,14 +104,13 @@ public void testGetSuccessNoDescription() throws Exception { CreateGlossaryTermResolver resolver = new CreateGlossaryTermResolver(mockClient, mockService); resolver.get(mockEnv).get(); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); } @Test public void testGetSuccessNoParentNode() throws Exception { EntityClient mockClient = initMockClient(); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); final MetadataChangeProposal proposal = setupTest(mockEnv, TEST_INPUT_NO_PARENT_NODE, "test-description", null); @@ -119,8 +118,7 @@ public void testGetSuccessNoParentNode() throws Exception { CreateGlossaryTermResolver resolver = new CreateGlossaryTermResolver(mockClient, mockService); resolver.get(mockEnv).get(); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); } @Test @@ -157,7 +155,7 @@ public void testGetFailureExistingTermSameName() throws Exception { Mockito.eq(Collections.singleton(GLOSSARY_TERM_INFO_ASPECT_NAME)))) .thenReturn(result); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); CreateGlossaryEntityInput input = diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/DeleteGlossaryEntityResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/DeleteGlossaryEntityResolverTest.java index 18c4b07ffeff04..9adc5d5e516e52 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/DeleteGlossaryEntityResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/DeleteGlossaryEntityResolverTest.java @@ -25,7 +25,7 @@ public class DeleteGlossaryEntityResolverTest { @Test public void testGetSuccess() throws Exception { EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_TERM_URN)), eq(true))) .thenReturn(true); @@ -50,7 +50,7 @@ public void testGetEntityClientException() throws Exception { .when(mockClient) .deleteEntity(any(), Mockito.any()); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_TERM_URN)), eq(true))) .thenReturn(true); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/RemoveRelatedTermsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/RemoveRelatedTermsResolverTest.java index 5de7966dc15e99..85019a475865e1 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/RemoveRelatedTermsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/RemoveRelatedTermsResolverTest.java @@ -36,7 +36,7 @@ public void testGetSuccessIsA() throws Exception { GlossaryTermUrn term2Urn = GlossaryTermUrn.createFromString(TEST_TERM_2_URN); final GlossaryRelatedTerms relatedTerms = new GlossaryRelatedTerms(); relatedTerms.setIsRelatedTerms(new GlossaryTermUrnArray(Arrays.asList(term1Urn, term2Urn))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( any(), @@ -71,7 +71,7 @@ public void testGetSuccessHasA() throws Exception { GlossaryTermUrn term2Urn = GlossaryTermUrn.createFromString(TEST_TERM_2_URN); final GlossaryRelatedTerms relatedTerms = new GlossaryRelatedTerms(); relatedTerms.setHasRelatedTerms(new GlossaryTermUrnArray(Arrays.asList(term1Urn, term2Urn))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( any(), @@ -102,7 +102,7 @@ public void testGetSuccessHasA() throws Exception { @Test public void testFailAspectDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( any(), @@ -135,7 +135,7 @@ public void testFailNoPermissions() throws Exception { GlossaryTermUrn term2Urn = GlossaryTermUrn.createFromString(TEST_TERM_2_URN); final GlossaryRelatedTerms relatedTerms = new GlossaryRelatedTerms(); relatedTerms.setIsRelatedTerms(new GlossaryTermUrnArray(Arrays.asList(term1Urn, term2Urn))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( any(), diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateNameResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateNameResolverTest.java index e6f4aae56127ce..b4a2655755a028 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateNameResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateNameResolverTest.java @@ -42,7 +42,7 @@ public class UpdateNameResolverTest { private static final CorpuserUrn TEST_ACTOR_URN = new CorpuserUrn("test"); private MetadataChangeProposal setupTests( - DataFetchingEnvironment mockEnv, EntityService mockService) throws Exception { + DataFetchingEnvironment mockEnv, EntityService mockService) throws Exception { QueryContext mockContext = getMockAllowContext(); Mockito.when(mockContext.getAuthentication()).thenReturn(Mockito.mock(Authentication.class)); Mockito.when(mockContext.getActorUrn()).thenReturn(TEST_ACTOR_URN.toString()); @@ -65,7 +65,7 @@ private MetadataChangeProposal setupTests( @Test public void testGetSuccess() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when( mockService.exists( @@ -83,7 +83,7 @@ public void testGetSuccess() throws Exception { @Test public void testGetSuccessForNode() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(NODE_URN)), eq(true))) .thenReturn(true); @@ -117,7 +117,7 @@ public void testGetSuccessForNode() throws Exception { @Test public void testGetSuccessForDomain() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(DOMAIN_URN)), eq(true))) .thenReturn(true); @@ -163,7 +163,7 @@ public void testGetSuccessForDomain() throws Exception { @Test public void testGetFailureEntityDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when( mockService.exists( diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateParentNodeResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateParentNodeResolverTest.java index 39f9066bcddaa0..25a900d4d90696 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateParentNodeResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/glossary/UpdateParentNodeResolverTest.java @@ -43,7 +43,7 @@ public class UpdateParentNodeResolverTest { private static final CorpuserUrn TEST_ACTOR_URN = new CorpuserUrn("test"); private MetadataChangeProposal setupTests( - DataFetchingEnvironment mockEnv, EntityService mockService) throws Exception { + DataFetchingEnvironment mockEnv, EntityService mockService) throws Exception { QueryContext mockContext = getMockAllowContext(); Mockito.when(mockContext.getAuthentication()).thenReturn(Mockito.mock(Authentication.class)); Mockito.when(mockContext.getActorUrn()).thenReturn(TEST_ACTOR_URN.toString()); @@ -67,7 +67,7 @@ private MetadataChangeProposal setupTests( @Test public void testGetSuccess() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TERM_URN)), eq(true))) .thenReturn(true); @@ -89,7 +89,7 @@ public void testGetSuccess() throws Exception { @Test public void testGetSuccessForNode() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(NODE_URN)), eq(true))) .thenReturn(true); @@ -129,7 +129,7 @@ public void testGetSuccessForNode() throws Exception { @Test public void testGetFailureEntityDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TERM_URN)), eq(true))) .thenReturn(false); @@ -149,7 +149,7 @@ public void testGetFailureEntityDoesNotExist() throws Exception { @Test public void testGetFailureNodeDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TERM_URN)), eq(true))) .thenReturn(true); @@ -169,7 +169,7 @@ public void testGetFailureNodeDoesNotExist() throws Exception { @Test public void testGetFailureParentIsNotNode() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TERM_URN)), eq(true))) .thenReturn(true); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolverTest.java index 4be7eeba1d0180..4750143b8add8b 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/incident/EntityIncidentsResolverTest.java @@ -37,6 +37,7 @@ import com.linkedin.metadata.search.utils.QueryUtils; import graphql.schema.DataFetchingEnvironment; import io.datahubproject.metadata.context.OperationContext; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.mockito.Mockito; @@ -92,7 +93,7 @@ public void testGetSuccess() throws Exception { Mockito.any(), Mockito.eq(Constants.INCIDENT_ENTITY_NAME), Mockito.eq(expectedFilter), - Mockito.eq(expectedSort), + Mockito.eq(Collections.singletonList(expectedSort)), Mockito.eq(0), Mockito.eq(10))) .thenReturn( diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolverTest.java index c96dfe89adc5e1..fe4fe00454a261 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/execution/IngestionSourceExecutionRequestsResolverTest.java @@ -22,7 +22,6 @@ import com.linkedin.execution.ExecutionRequestResult; import com.linkedin.metadata.Constants; import com.linkedin.metadata.query.filter.Filter; -import com.linkedin.metadata.query.filter.SortCriterion; import com.linkedin.metadata.search.SearchEntity; import com.linkedin.metadata.search.SearchEntityArray; import com.linkedin.metadata.search.SearchResult; @@ -30,6 +29,7 @@ import graphql.schema.DataFetchingEnvironment; import io.datahubproject.metadata.context.OperationContext; import java.util.HashSet; +import java.util.List; import org.mockito.Mockito; import org.testng.annotations.Test; @@ -46,7 +46,7 @@ public void testGetSuccess() throws Exception { any(), Mockito.eq(Constants.EXECUTION_REQUEST_ENTITY_NAME), Mockito.any(Filter.class), - Mockito.any(SortCriterion.class), + Mockito.any(List.class), Mockito.eq(0), Mockito.eq(10))) .thenReturn( diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolverTest.java index 82b8d895384caa..96a12dc3be5a76 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/secret/ListSecretsResolverTest.java @@ -15,7 +15,6 @@ import com.linkedin.entity.EnvelopedAspectMap; import com.linkedin.entity.client.EntityClient; import com.linkedin.metadata.Constants; -import com.linkedin.metadata.query.filter.SortCriterion; import com.linkedin.metadata.search.SearchEntity; import com.linkedin.metadata.search.SearchEntityArray; import com.linkedin.metadata.search.SearchResult; @@ -24,6 +23,7 @@ import graphql.schema.DataFetchingEnvironment; import io.datahubproject.metadata.context.OperationContext; import java.util.HashSet; +import java.util.List; import org.mockito.Mockito; import org.testng.annotations.Test; @@ -44,7 +44,7 @@ public void testGetSuccess() throws Exception { Mockito.eq(Constants.SECRETS_ENTITY_NAME), Mockito.eq(""), Mockito.eq(null), - Mockito.any(SortCriterion.class), + Mockito.any(List.class), Mockito.eq(0), Mockito.eq(20))) .thenReturn( @@ -112,7 +112,7 @@ public void testGetUnauthorized() throws Exception { Mockito.any(), Mockito.eq(""), Mockito.eq(null), - Mockito.any(SortCriterion.class), + Mockito.any(List.class), Mockito.anyInt(), Mockito.anyInt()); } diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolverTest.java index b453958e7af474..955188a4e4fed1 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/ingest/source/UpsertIngestionSourceResolverTest.java @@ -1,5 +1,6 @@ package com.linkedin.datahub.graphql.resolvers.ingest.source; +import static com.linkedin.datahub.graphql.TestUtils.verifyIngestProposal; import static com.linkedin.datahub.graphql.resolvers.ingest.IngestTestUtils.*; import static com.linkedin.metadata.Constants.*; import static org.mockito.ArgumentMatchers.any; @@ -7,6 +8,7 @@ import static org.testng.Assert.*; import com.linkedin.datahub.graphql.QueryContext; +import com.linkedin.datahub.graphql.exception.DataHubGraphQLException; import com.linkedin.datahub.graphql.generated.UpdateIngestionSourceConfigInput; import com.linkedin.datahub.graphql.generated.UpdateIngestionSourceInput; import com.linkedin.datahub.graphql.generated.UpdateIngestionSourceScheduleInput; @@ -22,14 +24,17 @@ public class UpsertIngestionSourceResolverTest { - private static final UpdateIngestionSourceInput TEST_INPUT = - new UpdateIngestionSourceInput( - "Test source", - "mysql", - "Test source description", - new UpdateIngestionSourceScheduleInput("* * * * *", "UTC"), - new UpdateIngestionSourceConfigInput( - "my test recipe", "0.8.18", "executor id", false, null)); + private static final UpdateIngestionSourceInput TEST_INPUT = makeInput(); + + private static UpdateIngestionSourceInput makeInput() { + return new UpdateIngestionSourceInput( + "Test source", + "mysql", + "Test source description", + new UpdateIngestionSourceScheduleInput("* * * * *", "UTC"), + new UpdateIngestionSourceConfigInput( + "my test recipe", "0.8.18", "executor id", false, null)); + } @Test public void testGetSuccess() throws Exception { @@ -62,13 +67,11 @@ public void testGetSuccess() throws Exception { .setExecutorId(TEST_INPUT.getConfig().getExecutorId()) .setDebugMode(TEST_INPUT.getConfig().getDebugMode())); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal( - any(), - Mockito.eq( - MutationUtils.buildMetadataChangeProposalWithUrn( - TEST_INGESTION_SOURCE_URN, INGESTION_INFO_ASPECT_NAME, info)), - Mockito.eq(false)); + verifyIngestProposal( + mockClient, + 1, + MutationUtils.buildMetadataChangeProposalWithUrn( + TEST_INGESTION_SOURCE_URN, INGESTION_INFO_ASPECT_NAME, info)); } @Test @@ -104,4 +107,54 @@ public void testGetEntityClientException() throws Exception { assertThrows(RuntimeException.class, () -> resolver.get(mockEnv).join()); } + + @Test + public void testUpsertWithInvalidCron() throws Exception { + final UpdateIngestionSourceInput input = makeInput(); + input.setSchedule(new UpdateIngestionSourceScheduleInput("* * * * 123", "UTC")); + + // Create resolver + EntityClient mockClient = Mockito.mock(EntityClient.class); + UpsertIngestionSourceResolver resolver = new UpsertIngestionSourceResolver(mockClient); + + // Execute resolver + QueryContext mockContext = getMockAllowContext(); + DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); + Mockito.when(mockEnv.getArgument(Mockito.eq("urn"))) + .thenReturn(TEST_INGESTION_SOURCE_URN.toString()); + Mockito.when(mockEnv.getArgument(Mockito.eq("input"))).thenReturn(input); + Mockito.when(mockEnv.getContext()).thenReturn(mockContext); + + assertThrows(DataHubGraphQLException.class, () -> resolver.get(mockEnv).join()); + Mockito.verify(mockClient, Mockito.times(0)).ingestProposal(any(), any(), anyBoolean()); + + input.setSchedule(new UpdateIngestionSourceScheduleInput("null", "UTC")); + assertThrows(DataHubGraphQLException.class, () -> resolver.get(mockEnv).join()); + Mockito.verify(mockClient, Mockito.times(0)).ingestProposal(any(), any(), anyBoolean()); + } + + @Test + public void testUpsertWithInvalidTimezone() throws Exception { + final UpdateIngestionSourceInput input = makeInput(); + input.setSchedule(new UpdateIngestionSourceScheduleInput("* * * * *", "Invalid")); + + // Create resolver + EntityClient mockClient = Mockito.mock(EntityClient.class); + UpsertIngestionSourceResolver resolver = new UpsertIngestionSourceResolver(mockClient); + + // Execute resolver + QueryContext mockContext = getMockAllowContext(); + DataFetchingEnvironment mockEnv = Mockito.mock(DataFetchingEnvironment.class); + Mockito.when(mockEnv.getArgument(Mockito.eq("urn"))) + .thenReturn(TEST_INGESTION_SOURCE_URN.toString()); + Mockito.when(mockEnv.getArgument(Mockito.eq("input"))).thenReturn(input); + Mockito.when(mockEnv.getContext()).thenReturn(mockContext); + + assertThrows(DataHubGraphQLException.class, () -> resolver.get(mockEnv).join()); + Mockito.verify(mockClient, Mockito.times(0)).ingestProposal(any(), any(), anyBoolean()); + + input.setSchedule(new UpdateIngestionSourceScheduleInput("* * * * *", "America/Los_Angel")); + assertThrows(DataHubGraphQLException.class, () -> resolver.get(mockEnv).join()); + Mockito.verify(mockClient, Mockito.times(0)).ingestProposal(any(), any(), anyBoolean()); + } } diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/load/EntityRelationshipsResultResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/load/EntityRelationshipsResultResolverTest.java new file mode 100644 index 00000000000000..d2799278c1238d --- /dev/null +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/load/EntityRelationshipsResultResolverTest.java @@ -0,0 +1,124 @@ +package com.linkedin.datahub.graphql.resolvers.load; + +import static com.linkedin.datahub.graphql.TestUtils.getMockAllowContext; +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.testng.Assert.assertEquals; + +import com.linkedin.common.EntityRelationship; +import com.linkedin.common.EntityRelationshipArray; +import com.linkedin.common.EntityRelationships; +import com.linkedin.common.urn.Urn; +import com.linkedin.datahub.graphql.QueryContext; +import com.linkedin.datahub.graphql.generated.*; +import com.linkedin.metadata.entity.EntityService; +import com.linkedin.metadata.graph.GraphClient; +import graphql.schema.DataFetchingEnvironment; +import java.net.URISyntaxException; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ExecutionException; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class EntityRelationshipsResultResolverTest { + private final Urn existentUser = Urn.createFromString("urn:li:corpuser:johndoe"); + private final Urn softDeletedUser = Urn.createFromString("urn:li:corpuser:deletedUser"); + + private CorpUser existentEntity; + private CorpUser softDeletedEntity; + + private EntityService _entityService; + private GraphClient _graphClient; + + private EntityRelationshipsResultResolver resolver; + private RelationshipsInput input; + private DataFetchingEnvironment mockEnv; + + public EntityRelationshipsResultResolverTest() throws URISyntaxException {} + + @BeforeMethod + public void setupTest() { + _entityService = mock(EntityService.class); + _graphClient = mock(GraphClient.class); + resolver = new EntityRelationshipsResultResolver(_graphClient, _entityService); + + mockEnv = mock(DataFetchingEnvironment.class); + QueryContext context = getMockAllowContext(); + when(mockEnv.getContext()).thenReturn(context); + + CorpGroup source = new CorpGroup(); + source.setUrn("urn:li:corpGroup:group1"); + when(mockEnv.getSource()).thenReturn(source); + + when(_entityService.exists(any(), eq(Set.of(existentUser, softDeletedUser)), eq(true))) + .thenReturn(Set.of(existentUser, softDeletedUser)); + when(_entityService.exists(any(), eq(Set.of(existentUser, softDeletedUser)), eq(false))) + .thenReturn(Set.of(existentUser)); + + input = new RelationshipsInput(); + input.setStart(0); + input.setCount(10); + input.setDirection(RelationshipDirection.INCOMING); + input.setTypes(List.of("SomeType")); + + EntityRelationships entityRelationships = + new EntityRelationships() + .setStart(0) + .setCount(2) + .setTotal(2) + .setRelationships( + new EntityRelationshipArray( + new EntityRelationship().setEntity(existentUser).setType("SomeType"), + new EntityRelationship().setEntity(softDeletedUser).setType("SomeType"))); + + // always expected INCOMING, and "SomeType" in all tests + when(_graphClient.getRelatedEntities( + eq(source.getUrn()), + eq(input.getTypes()), + same(com.linkedin.metadata.query.filter.RelationshipDirection.INCOMING), + eq(input.getStart()), + eq(input.getCount()), + any())) + .thenReturn(entityRelationships); + + when(mockEnv.getArgument(eq("input"))).thenReturn(input); + + existentEntity = new CorpUser(); + existentEntity.setUrn(existentUser.toString()); + existentEntity.setType(EntityType.CORP_USER); + + softDeletedEntity = new CorpUser(); + softDeletedEntity.setUrn(softDeletedUser.toString()); + softDeletedEntity.setType(EntityType.CORP_USER); + } + + @Test + public void testIncludeSoftDeleted() throws ExecutionException, InterruptedException { + EntityRelationshipsResult expected = new EntityRelationshipsResult(); + expected.setRelationships( + List.of(resultRelationship(existentEntity), resultRelationship(softDeletedEntity))); + expected.setStart(0); + expected.setCount(2); + expected.setTotal(2); + assertEquals(resolver.get(mockEnv).get().toString(), expected.toString()); + } + + @Test + public void testExcludeSoftDeleted() throws ExecutionException, InterruptedException { + input.setIncludeSoftDelete(false); + EntityRelationshipsResult expected = new EntityRelationshipsResult(); + expected.setRelationships(List.of(resultRelationship(existentEntity))); + expected.setStart(0); + expected.setCount(1); + expected.setTotal(1); + assertEquals(resolver.get(mockEnv).get().toString(), expected.toString()); + } + + private com.linkedin.datahub.graphql.generated.EntityRelationship resultRelationship( + Entity entity) { + return new com.linkedin.datahub.graphql.generated.EntityRelationship( + "SomeType", RelationshipDirection.INCOMING, entity, null); + } +} diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/SiblingsUtilsTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/SiblingsUtilsTest.java index 5965c8b790a760..e76317391ac34b 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/SiblingsUtilsTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/SiblingsUtilsTest.java @@ -31,7 +31,7 @@ public class SiblingsUtilsTest { public void testGetSiblingUrns() { UrnArray siblingUrns = new UrnArray(UrnUtils.getUrn(TEST_DATASET_URN2), UrnUtils.getUrn(TEST_DATASET_URN3)); - EntityService mockService = mock(EntityService.class); + EntityService mockService = mock(EntityService.class); Mockito.when( mockService.getLatestAspect( any(), eq(UrnUtils.getUrn(TEST_DATASET_URN1)), eq(SIBLINGS_ASPECT_NAME))) @@ -45,7 +45,7 @@ public void testGetSiblingUrns() { @Test public void testGetSiblingUrnsWithoutSiblings() { - EntityService mockService = mock(EntityService.class); + EntityService mockService = mock(EntityService.class); Mockito.when( mockService.getLatestAspect( any(), eq(UrnUtils.getUrn(TEST_DATASET_URN1)), eq(SIBLINGS_ASPECT_NAME))) @@ -59,7 +59,7 @@ public void testGetSiblingUrnsWithoutSiblings() { @Test public void testGetSiblingUrnsWithSiblingsAspect() { - EntityService mockService = mock(EntityService.class); + EntityService mockService = mock(EntityService.class); Mockito.when( mockService.getLatestAspect( any(), eq(UrnUtils.getUrn(TEST_DATASET_URN1)), eq(SIBLINGS_ASPECT_NAME))) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateUserSettingResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateUserSettingResolverTest.java index ce339fa2c75c7c..313c15c95c952f 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateUserSettingResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/mutate/UpdateUserSettingResolverTest.java @@ -23,7 +23,7 @@ public class UpdateUserSettingResolverTest { @Test public void testWriteCorpUserSettings() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_USER_URN)), eq(true))) .thenReturn(true); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/operation/ReportOperationResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/operation/ReportOperationResolverTest.java index ad5f39d4b3c6d2..c4778cbbd40535 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/operation/ReportOperationResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/operation/ReportOperationResolverTest.java @@ -57,8 +57,7 @@ public void testGetSuccess() throws Exception { Mockito.when(mockEnv.getContext()).thenReturn(mockContext); resolver.get(mockEnv).get(); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(expectedProposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, expectedProposal); } @Test diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/AddOwnersResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/AddOwnersResolverTest.java index 40a2e45724381c..b239e0300ffcc5 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/AddOwnersResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/AddOwnersResolverTest.java @@ -38,7 +38,7 @@ public class AddOwnersResolverTest { @Test public void testGetSuccessNoExistingOwners() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -101,7 +101,7 @@ public void testGetSuccessNoExistingOwners() throws Exception { @Test public void testGetSuccessExistingOwnerNewType() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); com.linkedin.common.Ownership oldOwnership = new Ownership() @@ -167,7 +167,7 @@ public void testGetSuccessExistingOwnerNewType() throws Exception { @Test public void testGetSuccessDeprecatedTypeToOwnershipType() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); com.linkedin.common.Ownership oldOwnership = new Ownership() @@ -230,7 +230,7 @@ public void testGetSuccessDeprecatedTypeToOwnershipType() throws Exception { @Test public void testGetSuccessMultipleOwnerTypes() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); com.linkedin.common.Ownership oldOwnership = new Ownership() @@ -328,7 +328,7 @@ public void testGetSuccessMultipleOwnerTypes() throws Exception { @Test public void testGetFailureOwnerDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -366,7 +366,7 @@ public void testGetFailureOwnerDoesNotExist() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -404,7 +404,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); AddOwnersResolver resolver = new AddOwnersResolver(mockService); @@ -429,7 +429,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchAddOwnersResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchAddOwnersResolverTest.java index 2d7b67685cc697..8275f9f83ef83f 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchAddOwnersResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchAddOwnersResolverTest.java @@ -38,7 +38,7 @@ public class BatchAddOwnersResolverTest { @Test public void testGetSuccessNoExistingOwners() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -126,7 +126,7 @@ public void testGetSuccessExistingOwners() throws Exception { new Owner() .setOwner(Urn.createFromString(TEST_OWNER_URN_1)) .setType(OwnershipType.TECHNICAL_OWNER)))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -217,7 +217,7 @@ public void testGetSuccessExistingOwners() throws Exception { @Test public void testGetFailureOwnerDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -267,7 +267,7 @@ public void testGetFailureOwnerDoesNotExist() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -326,7 +326,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchAddOwnersResolver resolver = new BatchAddOwnersResolver(mockService); @@ -363,7 +363,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchRemoveOwnersResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchRemoveOwnersResolverTest.java index 8fcedfa605e1bc..9ea9ac693b98ed 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchRemoveOwnersResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/owner/BatchRemoveOwnersResolverTest.java @@ -35,7 +35,7 @@ public class BatchRemoveOwnersResolverTest { @Test public void testGetSuccessNoExistingOwners() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -83,7 +83,7 @@ public void testGetSuccessNoExistingOwners() throws Exception { @Test public void testGetSuccessExistingOwners() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); final Ownership oldOwners1 = new Ownership() @@ -150,7 +150,7 @@ public void testGetSuccessExistingOwners() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -195,7 +195,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchRemoveOwnersResolver resolver = new BatchRemoveOwnersResolver(mockService); @@ -218,7 +218,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolverTest.java index 7f14193737e00e..8e160237d095bf 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/post/CreatePostResolverTest.java @@ -94,7 +94,7 @@ public void testCreatePost() throws Exception { input.setContent(content); when(_dataFetchingEnvironment.getArgument(eq("input"))).thenReturn(input); when(_postService.createPost( - any(), eq(PostType.HOME_PAGE_ANNOUNCEMENT.toString()), eq(postContentObj))) + any(), eq(PostType.HOME_PAGE_ANNOUNCEMENT.toString()), eq(postContentObj), any())) .thenReturn(true); assertTrue(_resolver.get(_dataFetchingEnvironment).join()); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolverTest.java index 70b427a1606f12..ee728b17e8c621 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/query/ListQueriesResolverTest.java @@ -69,9 +69,10 @@ public void testGetSuccess(final ListQueriesInput input) throws Exception { : input.getQuery()), Mockito.eq(buildFilter(input.getSource(), input.getDatasetUrn())), Mockito.eq( - new SortCriterion() - .setField(ListQueriesResolver.CREATED_AT_FIELD) - .setOrder(SortOrder.DESCENDING)), + Collections.singletonList( + new SortCriterion() + .setField(ListQueriesResolver.CREATED_AT_FIELD) + .setOrder(SortOrder.DESCENDING))), Mockito.eq(input.getStart()), Mockito.eq(input.getCount()))) .thenReturn( diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolverTest.java index 40062ed08977ac..d32eb9fcf120ca 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/AggregateAcrossEntitiesResolverTest.java @@ -324,7 +324,7 @@ public static void testErrorFetchingResults() throws Exception { Mockito.any(), Mockito.anyInt(), Mockito.anyInt(), - Mockito.eq(null), + Mockito.eq(Collections.emptyList()), Mockito.eq(null))) .thenThrow(new RemoteInvocationException()); @@ -397,7 +397,7 @@ private static EntityClient initMockEntityClient( Mockito.eq(filter), Mockito.eq(start), Mockito.eq(limit), - Mockito.eq(null), + Mockito.eq(Collections.emptyList()), Mockito.eq(facets))) .thenReturn(result); return client; @@ -420,7 +420,7 @@ private static void verifyMockEntityClient( Mockito.eq(filter), Mockito.eq(start), Mockito.eq(limit), - Mockito.eq(null), + Mockito.eq(Collections.emptyList()), Mockito.eq(facets)); } diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolverTest.java index 25e374c766deba..64042e82bbfe88 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/GetQuickFiltersResolverTest.java @@ -24,6 +24,7 @@ import com.linkedin.r2.RemoteInvocationException; import graphql.schema.DataFetchingEnvironment; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.CompletionException; import java.util.stream.Collectors; @@ -114,7 +115,7 @@ public static void testGetQuickFiltersFailure() throws Exception { Mockito.any(), Mockito.anyInt(), Mockito.anyInt(), - Mockito.eq(null), + Mockito.eq(Collections.emptyList()), Mockito.eq(null))) .thenThrow(new RemoteInvocationException()); @@ -300,7 +301,7 @@ private static EntityClient initMockEntityClient( Mockito.eq(filter), Mockito.eq(start), Mockito.eq(limit), - Mockito.eq(null), + Mockito.eq(Collections.emptyList()), Mockito.eq(null))) .thenReturn(result); return client; diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolverTest.java index bcbfda6c71bba2..30d6f2dc6f2836 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchAcrossEntitiesResolverTest.java @@ -437,8 +437,8 @@ public static void testApplyViewErrorFetchingView() throws Exception { Mockito.any(), Mockito.anyInt(), Mockito.anyInt(), - Mockito.eq(null), - Mockito.eq(null))) + Mockito.eq(Collections.emptyList()), + Mockito.eq(Collections.emptyList()))) .thenThrow(new RemoteInvocationException()); final SearchAcrossEntitiesResolver resolver = @@ -485,7 +485,7 @@ private static EntityClient initMockEntityClient( Mockito.eq(filter), Mockito.eq(start), Mockito.eq(limit), - Mockito.eq(null))) + Mockito.eq(Collections.emptyList()))) .thenReturn(result); return client; } @@ -506,7 +506,7 @@ private static void verifyMockEntityClient( Mockito.eq(filter), Mockito.eq(start), Mockito.eq(limit), - Mockito.eq(null)); + Mockito.eq(Collections.emptyList())); } private static void verifyMockViewService(ViewService mockService, Urn viewUrn) { diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolverTest.java index a5310a052f613c..fbbf5cf314eda3 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/search/SearchResolverTest.java @@ -18,6 +18,8 @@ import com.linkedin.metadata.search.SearchResult; import com.linkedin.metadata.search.SearchResultMetadata; import graphql.schema.DataFetchingEnvironment; +import java.util.Collections; +import java.util.List; import org.mockito.Mockito; import org.testng.annotations.Test; @@ -56,7 +58,7 @@ public void testDefaultSearchFlags() throws Exception { Constants.DATASET_ENTITY_NAME, // Verify that merged entity types were used. "", null, - null, + Collections.emptyList(), 0, 10, setConvertSchemaFieldsToDatasets( @@ -97,7 +99,7 @@ public void testOverrideSearchFlags() throws Exception { Constants.DATASET_ENTITY_NAME, // Verify that merged entity types were used. "", null, - null, + Collections.emptyList(), 1, 11, setConvertSchemaFieldsToDatasets( @@ -129,7 +131,7 @@ public void testNonWildCardSearchFlags() throws Exception { Constants.DATASET_ENTITY_NAME, // Verify that merged entity types were used. "not a wildcard", null, // Verify that view filter was used. - null, + Collections.emptyList(), 0, 10, setConvertSchemaFieldsToDatasets( @@ -170,7 +172,7 @@ private void verifyMockSearchEntityClient( String entityName, String query, Filter filter, - SortCriterion sortCriterion, + List sortCriteria, int start, int limit, com.linkedin.metadata.query.SearchFlags searchFlags) @@ -181,7 +183,7 @@ private void verifyMockSearchEntityClient( Mockito.eq(entityName), Mockito.eq(query), Mockito.eq(filter), - Mockito.eq(sortCriterion), + Mockito.eq(sortCriteria), Mockito.eq(start), Mockito.eq(limit)); } diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/AddTagsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/AddTagsResolverTest.java index 4384d9e2650e4f..ee1d59cdf87c75 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/AddTagsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/AddTagsResolverTest.java @@ -35,7 +35,7 @@ public class AddTagsResolverTest { @Test public void testGetSuccessNoExistingTags() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -94,7 +94,7 @@ public void testGetSuccessExistingTags() throws Exception { ImmutableList.of( new TagAssociation().setTag(TagUrn.createFromString(TEST_TAG_1_URN))))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -146,7 +146,7 @@ public void testGetSuccessExistingTags() throws Exception { @Test public void testGetFailureTagDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -177,7 +177,7 @@ public void testGetFailureTagDoesNotExist() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -208,7 +208,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); AddTagsResolver resolver = new AddTagsResolver(mockService); diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchAddTagsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchAddTagsResolverTest.java index 0d22cd6e5eb2b1..5f6db4cb1e5a56 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchAddTagsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchAddTagsResolverTest.java @@ -39,7 +39,7 @@ public class BatchAddTagsResolverTest { @Test public void testGetSuccessNoExistingTags() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -115,7 +115,7 @@ public void testGetSuccessExistingTags() throws Exception { ImmutableList.of( new TagAssociation().setTag(TagUrn.createFromString(TEST_TAG_1_URN))))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -184,7 +184,7 @@ public void testGetSuccessExistingTags() throws Exception { @Test public void testGetFailureTagDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -218,7 +218,7 @@ public void testGetFailureTagDoesNotExist() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -263,7 +263,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchAddTagsResolver resolver = new BatchAddTagsResolver(mockService); @@ -286,7 +286,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchRemoveTagsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchRemoveTagsResolverTest.java index e6c33ea7341788..9f34c0da82744a 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchRemoveTagsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/BatchRemoveTagsResolverTest.java @@ -42,7 +42,7 @@ public class BatchRemoveTagsResolverTest { @Test public void testGetSuccessNoExistingTags() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -104,7 +104,7 @@ public void testGetSuccessNoExistingTags() throws Exception { @Test public void testGetSuccessExistingTags() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); final GlobalTags oldTags1 = new GlobalTags() @@ -177,7 +177,7 @@ public void testGetSuccessExistingTags() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -222,7 +222,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchRemoveTagsResolver resolver = new BatchRemoveTagsResolver(mockService); @@ -245,7 +245,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/CreateTagResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/CreateTagResolverTest.java index cd9ac9f0b610a8..6c8984addb2651 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/CreateTagResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/CreateTagResolverTest.java @@ -27,7 +27,7 @@ public class CreateTagResolverTest { @Test public void testGetSuccess() throws Exception { // Create resolver - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.when( mockClient.ingestProposal( @@ -53,14 +53,13 @@ public void testGetSuccess() throws Exception { key, TAG_ENTITY_NAME, TAG_PROPERTIES_ASPECT_NAME, props); // Not ideal to match against "any", but we don't know the auto-generated execution request id - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); } @Test public void testGetUnauthorized() throws Exception { // Create resolver - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); CreateTagResolver resolver = new CreateTagResolver(mockClient, mockService); @@ -77,7 +76,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { // Create resolver - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); EntityClient mockClient = Mockito.mock(EntityClient.class); Mockito.doThrow(RuntimeException.class) .when(mockClient) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/SetTagColorResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/SetTagColorResolverTest.java index 624e300b19f461..92f7a2688b43eb 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/SetTagColorResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/tag/SetTagColorResolverTest.java @@ -38,7 +38,7 @@ public class SetTagColorResolverTest { public void testGetSuccessExistingProperties() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); // Test setting the domain final TagProperties oldTagProperties = new TagProperties().setName("Test Tag"); @@ -69,8 +69,7 @@ public void testGetSuccessExistingProperties() throws Exception { MutationUtils.buildMetadataChangeProposalWithUrn( UrnUtils.getUrn(TEST_ENTITY_URN), TAG_PROPERTIES_ASPECT_NAME, newTagProperties); - Mockito.verify(mockClient, Mockito.times(1)) - .ingestProposal(any(), Mockito.eq(proposal), Mockito.eq(false)); + verifyIngestProposal(mockClient, 1, proposal); Mockito.verify(mockService, Mockito.times(1)) .exists(any(), Mockito.eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true)); @@ -80,7 +79,7 @@ public void testGetSuccessExistingProperties() throws Exception { public void testGetFailureNoExistingProperties() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); // Test setting the domain Mockito.when( @@ -135,7 +134,7 @@ public void testGetFailureTagDoesNotExist() throws Exception { ImmutableMap.of( Constants.TAG_PROPERTIES_ASPECT_NAME, oldTagPropertiesAspect))))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when(mockService.exists(any(), eq(Urn.createFromString(TEST_ENTITY_URN)), eq(true))) .thenReturn(false); @@ -155,7 +154,7 @@ public void testGetFailureTagDoesNotExist() throws Exception { public void testGetUnauthorized() throws Exception { // Create resolver EntityClient mockClient = Mockito.mock(EntityClient.class); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); SetTagColorResolver resolver = new SetTagColorResolver(mockClient, mockService); // Execute resolver diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/AddTermsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/AddTermsResolverTest.java index 9eeb525c3657e9..8f8a071ce89329 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/AddTermsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/AddTermsResolverTest.java @@ -32,7 +32,7 @@ public class AddTermsResolverTest { @Test public void testGetSuccessNoExistingTerms() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -82,7 +82,7 @@ public void testGetSuccessExistingTerms() throws Exception { new GlossaryTermAssociation() .setUrn(GlossaryTermUrn.createFromString(TEST_TERM_1_URN))))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -124,7 +124,7 @@ public void testGetSuccessExistingTerms() throws Exception { @Test public void testGetFailureTermDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -156,7 +156,7 @@ public void testGetFailureTermDoesNotExist() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -188,7 +188,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); AddTermsResolver resolver = new AddTermsResolver(mockService); @@ -207,7 +207,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchAddTermsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchAddTermsResolverTest.java index 185bb5cc97953a..ced9e371814f7e 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchAddTermsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchAddTermsResolverTest.java @@ -35,7 +35,7 @@ public class BatchAddTermsResolverTest { @Test public void testGetSuccessNoExistingTerms() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -99,7 +99,7 @@ public void testGetSuccessExistingTerms() throws Exception { new GlossaryTermAssociation() .setUrn(GlossaryTermUrn.createFromString(TEST_GLOSSARY_TERM_1_URN))))); - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -155,7 +155,7 @@ public void testGetSuccessExistingTerms() throws Exception { @Test public void testGetFailureTagDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -189,7 +189,7 @@ public void testGetFailureTagDoesNotExist() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -234,7 +234,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchAddTermsResolver resolver = new BatchAddTermsResolver(mockService); @@ -256,7 +256,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchRemoveTermsResolverTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchRemoveTermsResolverTest.java index 9e269bed436d98..254a301159ac25 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchRemoveTermsResolverTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/resolvers/term/BatchRemoveTermsResolverTest.java @@ -35,7 +35,7 @@ public class BatchRemoveTermsResolverTest { @Test public void testGetSuccessNoExistingTerms() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -82,7 +82,7 @@ public void testGetSuccessNoExistingTerms() throws Exception { @Test public void testGetSuccessExistingTerms() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); final GlossaryTerms oldTerms1 = new GlossaryTerms() @@ -148,7 +148,7 @@ public void testGetSuccessExistingTerms() throws Exception { @Test public void testGetFailureResourceDoesNotExist() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.when( mockService.getAspect( @@ -192,7 +192,7 @@ public void testGetFailureResourceDoesNotExist() throws Exception { @Test public void testGetUnauthorized() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); BatchRemoveTermsResolver resolver = new BatchRemoveTermsResolver(mockService); @@ -214,7 +214,7 @@ public void testGetUnauthorized() throws Exception { @Test public void testGetEntityClientException() throws Exception { - EntityService mockService = getMockEntityService(); + EntityService mockService = getMockEntityService(); Mockito.doThrow(RuntimeException.class) .when(mockService) diff --git a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/utils/OwnerUtilsTest.java b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/utils/OwnerUtilsTest.java index b4097d9dd045df..d524d8bfb9a6b3 100644 --- a/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/utils/OwnerUtilsTest.java +++ b/datahub-graphql-core/src/test/java/com/linkedin/datahub/graphql/utils/OwnerUtilsTest.java @@ -59,6 +59,7 @@ public void testIsOwnerEqualOnlyOwnershipTypeUrn() throws URISyntaxException { Urn technicalOwnershipTypeUrn = new Urn(TECHNICAL_OWNER_OWNERSHIP_TYPE_URN); Urn businessOwnershipTypeUrn = new Urn(BUSINESS_OWNER_OWNERSHIP_TYPE_URN); Urn ownerUrn1 = new Urn("urn:li:corpuser:foo"); + Urn ownerUrn2 = new Urn("urn:li:corpuser:bar"); Owner ownerWithTechnicalOwnership = new Owner(); ownerWithTechnicalOwnership.setOwner(ownerUrn1); @@ -72,12 +73,17 @@ public void testIsOwnerEqualOnlyOwnershipTypeUrn() throws URISyntaxException { ownerWithoutOwnershipType.setOwner(ownerUrn1); ownerWithoutOwnershipType.setType(OwnershipType.NONE); + Owner owner2WithoutOwnershipType = new Owner(); + owner2WithoutOwnershipType.setOwner(ownerUrn2); + owner2WithoutOwnershipType.setType(OwnershipType.NONE); + assertTrue( OwnerUtils.isOwnerEqual(ownerWithTechnicalOwnership, ownerUrn1, technicalOwnershipTypeUrn)); assertFalse( OwnerUtils.isOwnerEqual(ownerWithBusinessOwnership, ownerUrn1, technicalOwnershipTypeUrn)); - assertFalse(OwnerUtils.isOwnerEqual(ownerWithTechnicalOwnership, ownerUrn1, null)); + assertTrue(OwnerUtils.isOwnerEqual(ownerWithTechnicalOwnership, ownerUrn1, null)); assertTrue(OwnerUtils.isOwnerEqual(ownerWithoutOwnershipType, ownerUrn1, null)); + assertFalse(OwnerUtils.isOwnerEqual(owner2WithoutOwnershipType, ownerUrn1, null)); } public void testIsOwnerEqualWithBothLegacyAndNewType() throws URISyntaxException { diff --git a/datahub-upgrade/build.gradle b/datahub-upgrade/build.gradle index 304bf3a67a5b27..5d814dd876679e 100644 --- a/datahub-upgrade/build.gradle +++ b/datahub-upgrade/build.gradle @@ -49,13 +49,16 @@ dependencies { implementation('io.airlift:aircompressor:0.27') { because("CVE-2024-36114") } + implementation('dnsjava:dnsjava:3.6.1') { + because("CVE-2024-25638") + } } // mock internal schema registry implementation externalDependency.kafkaAvroSerde implementation externalDependency.kafkaAvroSerializer - implementation "org.apache.kafka:kafka_2.12:3.7.0" + implementation "org.apache.kafka:kafka_2.12:3.7.1" implementation externalDependency.slf4jApi compileOnly externalDependency.lombok @@ -112,7 +115,10 @@ task run(type: Exec) { environment "ENTITY_REGISTRY_CONFIG_PATH", "../metadata-models/src/main/resources/entity-registry.yml" environment "ENABLE_STRUCTURED_PROPERTIES_SYSTEM_UPDATE", "true" environment "ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX", "true" - commandLine "java", "-jar", "-Dserver.port=8083", bootJar.getArchiveFile().get(), "-u", "SystemUpdate" + commandLine "java", + "-agentlib:jdwp=transport=dt_socket,address=5003,server=y,suspend=n", + "-jar", + "-Dserver.port=8083", bootJar.getArchiveFile().get(), "-u", "SystemUpdate" } docker { diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/Upgrade.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/Upgrade.java index d3aea2a3dac12a..d159622eb292b6 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/Upgrade.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/Upgrade.java @@ -1,7 +1,17 @@ package com.linkedin.datahub.upgrade; import com.google.common.collect.ImmutableList; +import com.linkedin.common.urn.Urn; +import com.linkedin.metadata.boot.BootstrapStep; +import com.linkedin.metadata.entity.EntityService; +import com.linkedin.upgrade.DataHubUpgradeResult; +import com.linkedin.upgrade.DataHubUpgradeState; +import io.datahubproject.metadata.context.OperationContext; import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; /** Specification of an upgrade to be performed to the DataHub platform. */ public interface Upgrade { @@ -16,4 +26,18 @@ public interface Upgrade { default List cleanupSteps() { return ImmutableList.of(); } + + default Optional getUpgradeResult( + @Nonnull OperationContext opContext, Urn upgradeId, EntityService entityService) { + return BootstrapStep.getUpgradeResult(opContext, upgradeId, entityService); + } + + default void setUpgradeResult( + @Nonnull OperationContext opContext, + @Nonnull Urn upgradeId, + EntityService entityService, + @Nullable DataHubUpgradeState state, + @Nullable Map result) { + BootstrapStep.setUpgradeResult(opContext, upgradeId, entityService, state, result); + } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeCli.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeCli.java index 6d10a7ed6b3b48..bff65fd03dd572 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeCli.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeCli.java @@ -9,6 +9,7 @@ import com.linkedin.datahub.upgrade.system.SystemUpdate; import com.linkedin.datahub.upgrade.system.SystemUpdateBlocking; import com.linkedin.datahub.upgrade.system.SystemUpdateNonBlocking; +import com.linkedin.upgrade.DataHubUpgradeState; import io.datahubproject.metadata.context.OperationContext; import java.util.List; import javax.inject.Inject; @@ -91,7 +92,7 @@ public void run(String... cmdLineArgs) { UpgradeResult result = _upgradeManager.execute(systemOperationContext, args.upgradeId.trim(), args.args); - if (UpgradeResult.Result.FAILED.equals(result.result())) { + if (DataHubUpgradeState.FAILED.equals(result.result())) { System.exit(1); } else { System.exit(0); diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeContext.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeContext.java index 73643175ab9c67..2b5598184ee6b9 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeContext.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeContext.java @@ -23,6 +23,6 @@ public interface UpgradeContext { /** Returns a map of argument to <>optional value, as delimited by an '=' character. */ Map> parsedArgs(); - /** Returns the operation context ffor the upgrade */ + /** Returns the operation context for the upgrade */ OperationContext opContext(); } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeResult.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeResult.java index 25dc758575fd16..57a01b4de413fa 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeResult.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeResult.java @@ -1,20 +1,12 @@ package com.linkedin.datahub.upgrade; +import com.linkedin.upgrade.DataHubUpgradeState; + /** Represents the result of executing an {@link Upgrade} */ public interface UpgradeResult { - /** The execution result. */ - enum Result { - /** Upgrade succeeded. */ - SUCCEEDED, - /** Upgrade failed. */ - FAILED, - /** Upgrade was aborted. */ - ABORTED - } - - /** Returns the {@link Result} of executing an {@link Upgrade} */ - Result result(); + /** Returns the {@link DataHubUpgradeState} of executing an {@link Upgrade} */ + DataHubUpgradeState result(); /** Returns the {@link UpgradeReport} associated with the completed {@link Upgrade}. */ UpgradeReport report(); diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeStepResult.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeStepResult.java index 04b3d4b8559e67..e88e3c75f86954 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeStepResult.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/UpgradeStepResult.java @@ -1,18 +1,12 @@ package com.linkedin.datahub.upgrade; +import com.linkedin.upgrade.DataHubUpgradeState; + public interface UpgradeStepResult { /** Returns a string identifier associated with the step. */ String stepId(); - /** The outcome of the step execution. */ - enum Result { - /** The step succeeded. */ - SUCCEEDED, - /** The step failed. */ - FAILED - } - /** A control-flow action to perform as a result of the step execution. */ enum Action { /** Continue attempting the upgrade. */ @@ -24,7 +18,7 @@ enum Action { } /** Returns the result of executing the step, either success or failure. */ - Result result(); + DataHubUpgradeState result(); /** Returns the action to perform after executing the step, either continue or abort. */ default Action action() { diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearGraphServiceStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearGraphServiceStep.java index 393b5411599adc..357f1ffd663a9a 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearGraphServiceStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearGraphServiceStep.java @@ -6,6 +6,7 @@ import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.datahub.upgrade.nocode.NoCodeUpgrade; import com.linkedin.metadata.graph.GraphService; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.function.Function; public class ClearGraphServiceStep implements UpgradeStep { @@ -49,9 +50,9 @@ public Function executable() { _graphService.clear(); } catch (Exception e) { context.report().addLine("Failed to clear graph indices", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearSearchServiceStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearSearchServiceStep.java index 44592ecf92dbda..0ccd2029c93ac3 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearSearchServiceStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearSearchServiceStep.java @@ -6,6 +6,7 @@ import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.datahub.upgrade.nocode.NoCodeUpgrade; import com.linkedin.metadata.search.EntitySearchService; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.function.Function; public class ClearSearchServiceStep implements UpgradeStep { @@ -48,9 +49,9 @@ public Function executable() { _entitySearchService.clear(context.opContext()); } catch (Exception e) { context.report().addLine("Failed to clear search service", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearSystemMetadataServiceStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearSystemMetadataServiceStep.java new file mode 100644 index 00000000000000..f0f2958e917330 --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/ClearSystemMetadataServiceStep.java @@ -0,0 +1,57 @@ +package com.linkedin.datahub.upgrade.common.steps; + +import com.linkedin.datahub.upgrade.UpgradeContext; +import com.linkedin.datahub.upgrade.UpgradeStep; +import com.linkedin.datahub.upgrade.UpgradeStepResult; +import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; +import com.linkedin.datahub.upgrade.nocode.NoCodeUpgrade; +import com.linkedin.metadata.systemmetadata.SystemMetadataService; +import com.linkedin.upgrade.DataHubUpgradeState; +import java.util.function.Function; + +public class ClearSystemMetadataServiceStep implements UpgradeStep { + + private final SystemMetadataService _systemMetadataService; + private final boolean _alwaysRun; + + public ClearSystemMetadataServiceStep( + final SystemMetadataService systemMetadataService, final boolean alwaysRun) { + _systemMetadataService = systemMetadataService; + _alwaysRun = alwaysRun; + } + + @Override + public String id() { + return "ClearSystemMetadataServiceStep"; + } + + @Override + public boolean skip(UpgradeContext context) { + if (_alwaysRun) { + return false; + } + if (context.parsedArgs().containsKey(NoCodeUpgrade.CLEAN_ARG_NAME)) { + return false; + } + context.report().addLine("Cleanup has not been requested."); + return true; + } + + @Override + public int retryCount() { + return 1; + } + + @Override + public Function executable() { + return (context) -> { + try { + _systemMetadataService.clear(); + } catch (Exception e) { + context.report().addLine("Failed to clear system metadata service", e); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); + } + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); + }; + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSDisableWriteModeStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSDisableWriteModeStep.java index 42b3c6b3ccc490..2e31d1eb62bd0c 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSDisableWriteModeStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSDisableWriteModeStep.java @@ -5,6 +5,7 @@ import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.entity.client.SystemEntityClient; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.function.Function; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -13,7 +14,7 @@ @RequiredArgsConstructor public class GMSDisableWriteModeStep implements UpgradeStep { - private final SystemEntityClient entityClient; + private final SystemEntityClient systemEntityClient; @Override public String id() { @@ -29,13 +30,13 @@ public int retryCount() { public Function executable() { return (context) -> { try { - entityClient.setWritable(context.opContext(), false); + systemEntityClient.setWritable(context.opContext(), false); } catch (Exception e) { log.error("Failed to turn write mode off in GMS", e); context.report().addLine("Failed to turn write mode off in GMS"); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSEnableWriteModeStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSEnableWriteModeStep.java index c43644fda7ddf5..12bfccf1c6749a 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSEnableWriteModeStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSEnableWriteModeStep.java @@ -5,6 +5,7 @@ import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.entity.client.SystemEntityClient; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.function.Function; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -12,7 +13,7 @@ @Slf4j @RequiredArgsConstructor public class GMSEnableWriteModeStep implements UpgradeStep { - private final SystemEntityClient entityClient; + private final SystemEntityClient systemEntityClient; @Override public String id() { @@ -28,13 +29,13 @@ public int retryCount() { public Function executable() { return (context) -> { try { - entityClient.setWritable(context.opContext(), true); + systemEntityClient.setWritable(context.opContext(), true); } catch (Exception e) { log.error("Failed to turn write mode back on in GMS", e); context.report().addLine("Failed to turn write mode back on in GMS"); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSQualificationStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSQualificationStep.java index 4e7447cb1e2cb6..9ee8244ee370d0 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSQualificationStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/common/steps/GMSQualificationStep.java @@ -10,6 +10,7 @@ import com.linkedin.datahub.upgrade.UpgradeStep; import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; +import com.linkedin.upgrade.DataHubUpgradeState; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -97,7 +98,7 @@ public Function executable() { StreamReadConstraints.builder().maxStringLength(maxSize).build()); JsonNode configJson = mapper.readTree(responseString); if (isEligible((ObjectNode) configJson)) { - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); } else { context .report() @@ -105,7 +106,7 @@ public Function executable() { String.format( "Failed to qualify GMS. It is not running on the latest version." + "Re-run GMS on the latest datahub release")); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } } catch (Exception e) { e.printStackTrace(); @@ -117,7 +118,7 @@ public Function executable() { + "at %s://host %s port %s. Make sure GMS is on the latest version " + "and is running at that host before starting the migration.", gmsProtocol, gmsHost, gmsPort)); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/ReindexDomainDescriptionConfig.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/ReindexDomainDescriptionConfig.java new file mode 100644 index 00000000000000..3cdab0dc4d4bc6 --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/ReindexDomainDescriptionConfig.java @@ -0,0 +1,29 @@ +package com.linkedin.datahub.upgrade.config; + +import com.linkedin.datahub.upgrade.system.NonBlockingSystemUpgrade; +import com.linkedin.datahub.upgrade.system.domaindescription.ReindexDomainDescription; +import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.EntityService; +import io.datahubproject.metadata.context.OperationContext; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; + +@Configuration +@Conditional(SystemUpdateCondition.NonBlockingSystemUpdateCondition.class) +public class ReindexDomainDescriptionConfig { + + @Bean + public NonBlockingSystemUpgrade reindexDomainDescription( + final OperationContext opContext, + final EntityService entityService, + final AspectDao aspectDao, + @Value("${systemUpdate.domainDescription.enabled}") final boolean enabled, + @Value("${systemUpdate.domainDescription.batchSize}") final Integer batchSize, + @Value("${systemUpdate.domainDescription.delayMs}") final Integer delayMs, + @Value("${systemUpdate.domainDescription.limit}") final Integer limit) { + return new ReindexDomainDescription( + opContext, entityService, aspectDao, enabled, batchSize, delayMs, limit); + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreBackupConfig.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreBackupConfig.java index ec6e5a4a8f04d1..b4eafb4ad3d241 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreBackupConfig.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreBackupConfig.java @@ -6,6 +6,7 @@ import com.linkedin.metadata.graph.GraphService; import com.linkedin.metadata.models.registry.EntityRegistry; import com.linkedin.metadata.search.EntitySearchService; +import com.linkedin.metadata.systemmetadata.SystemMetadataService; import io.ebean.Database; import javax.annotation.Nonnull; import lombok.extern.slf4j.Slf4j; @@ -26,8 +27,9 @@ public class RestoreBackupConfig { "ebeanServer", "entityService", "systemEntityClient", - "graphService", + "systemMetadataService", "searchService", + "graphService", "entityRegistry" }) @ConditionalOnProperty(name = "entityService.impl", havingValue = "ebean", matchIfMissing = true) @@ -35,13 +37,23 @@ public class RestoreBackupConfig { public RestoreBackup createInstance() { final Database ebeanServer = applicationContext.getBean(Database.class); final EntityService entityService = applicationContext.getBean(EntityService.class); - final SystemEntityClient entityClient = applicationContext.getBean(SystemEntityClient.class); - final GraphService graphClient = applicationContext.getBean(GraphService.class); - final EntitySearchService searchClient = applicationContext.getBean(EntitySearchService.class); + final SystemEntityClient systemEntityClient = + applicationContext.getBean(SystemEntityClient.class); + final SystemMetadataService systemMetadataService = + applicationContext.getBean(SystemMetadataService.class); + final EntitySearchService entitySearchService = + applicationContext.getBean(EntitySearchService.class); + final GraphService graphService = applicationContext.getBean(GraphService.class); final EntityRegistry entityRegistry = applicationContext.getBean(EntityRegistry.class); return new RestoreBackup( - ebeanServer, entityService, entityRegistry, entityClient, graphClient, searchClient); + ebeanServer, + entityService, + entityRegistry, + systemEntityClient, + systemMetadataService, + entitySearchService, + graphService); } @Bean(name = "restoreBackup") @@ -49,6 +61,6 @@ public RestoreBackup createInstance() { @Nonnull public RestoreBackup createNotImplInstance() { log.warn("restoreIndices is not supported for cassandra!"); - return new RestoreBackup(null, null, null, null, null, null); + return new RestoreBackup(null, null, null, null, null, null, null); } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreIndicesConfig.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreIndicesConfig.java index 008bdf5cfac388..26e40485787e90 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreIndicesConfig.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/RestoreIndicesConfig.java @@ -4,33 +4,29 @@ import com.linkedin.metadata.entity.EntityService; import com.linkedin.metadata.graph.GraphService; import com.linkedin.metadata.search.EntitySearchService; +import com.linkedin.metadata.systemmetadata.SystemMetadataService; import io.ebean.Database; import javax.annotation.Nonnull; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.DependsOn; @Slf4j @Configuration public class RestoreIndicesConfig { - @Autowired ApplicationContext applicationContext; @Bean(name = "restoreIndices") - @DependsOn({"ebeanServer", "entityService", "searchService", "graphService"}) @ConditionalOnProperty(name = "entityService.impl", havingValue = "ebean", matchIfMissing = true) @Nonnull - public RestoreIndices createInstance() { - final Database ebeanServer = applicationContext.getBean(Database.class); - final EntityService entityService = applicationContext.getBean(EntityService.class); - final EntitySearchService entitySearchService = - applicationContext.getBean(EntitySearchService.class); - final GraphService graphService = applicationContext.getBean(GraphService.class); - - return new RestoreIndices(ebeanServer, entityService, entitySearchService, graphService); + public RestoreIndices createInstance( + final Database ebeanServer, + final EntityService entityService, + final EntitySearchService entitySearchService, + final GraphService graphService, + final SystemMetadataService systemMetadataService) { + return new RestoreIndices( + ebeanServer, entityService, systemMetadataService, entitySearchService, graphService); } @Bean(name = "restoreIndices") @@ -38,6 +34,6 @@ public RestoreIndices createInstance() { @Nonnull public RestoreIndices createNotImplInstance() { log.warn("restoreIndices is not supported for cassandra!"); - return new RestoreIndices(null, null, null, null); + return new RestoreIndices(null, null, null, null, null); } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/SchemaFieldsConfig.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/SchemaFieldsConfig.java new file mode 100644 index 00000000000000..5630379c566183 --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/SchemaFieldsConfig.java @@ -0,0 +1,56 @@ +package com.linkedin.datahub.upgrade.config; + +import com.linkedin.datahub.upgrade.system.NonBlockingSystemUpgrade; +import com.linkedin.datahub.upgrade.system.schemafield.GenerateSchemaFieldsFromSchemaMetadata; +import com.linkedin.datahub.upgrade.system.schemafield.MigrateSchemaFieldDocIds; +import com.linkedin.gms.factory.search.BaseElasticSearchComponentsFactory; +import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.EntityService; +import io.datahubproject.metadata.context.OperationContext; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; + +@Configuration +@Conditional(SystemUpdateCondition.NonBlockingSystemUpdateCondition.class) +public class SchemaFieldsConfig { + + @Bean + public NonBlockingSystemUpgrade schemaFieldsFromSchemaMetadata( + @Qualifier("systemOperationContext") final OperationContext opContext, + final EntityService entityService, + final AspectDao aspectDao, + // SYSTEM_UPDATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA_ENABLED + @Value("${systemUpdate.schemaFieldsFromSchemaMetadata.enabled}") final boolean enabled, + // SYSTEM_UPDATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA_BATCH_SIZE + @Value("${systemUpdate.schemaFieldsFromSchemaMetadata.batchSize}") final Integer batchSize, + // SYSTEM_UPDATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA_DELAY_MS + @Value("${systemUpdate.schemaFieldsFromSchemaMetadata.delayMs}") final Integer delayMs, + // SYSTEM_UPDATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA_LIMIT + @Value("${systemUpdate.schemaFieldsFromSchemaMetadata.limit}") final Integer limit) { + return new GenerateSchemaFieldsFromSchemaMetadata( + opContext, entityService, aspectDao, enabled, batchSize, delayMs, limit); + } + + @Bean + public NonBlockingSystemUpgrade schemaFieldsDocIds( + @Qualifier("systemOperationContext") final OperationContext opContext, + @Qualifier("baseElasticSearchComponents") + final BaseElasticSearchComponentsFactory.BaseElasticSearchComponents components, + final EntityService entityService, + // ELASTICSEARCH_INDEX_DOC_IDS_SCHEMA_FIELD_HASH_ID_ENABLED + @Value("${elasticsearch.index.docIds.schemaField.hashIdEnabled}") final boolean hashEnabled, + // SYSTEM_UPDATE_SCHEMA_FIELDS_DOC_IDS_ENABLED + @Value("${systemUpdate.schemaFieldsDocIds.enabled}") final boolean enabled, + // SYSTEM_UPDATE_SCHEMA_FIELDS_DOC_IDS_BATCH_SIZE + @Value("${systemUpdate.schemaFieldsDocIds.batchSize}") final Integer batchSize, + // SYSTEM_UPDATE_SCHEMA_FIELDS_DOC_IDS_DELAY_MS + @Value("${systemUpdate.schemaFieldsDocIds.delayMs}") final Integer delayMs, + // SYSTEM_UPDATE_SCHEMA_FIELDS_DOC_IDS_LIMIT + @Value("${systemUpdate.schemaFieldsDocIds.limit}") final Integer limit) { + return new MigrateSchemaFieldDocIds( + opContext, components, entityService, enabled && hashEnabled, batchSize, delayMs, limit); + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/SystemUpdateConfig.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/SystemUpdateConfig.java index cac9b5f9483d41..dea98c5cbcb132 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/SystemUpdateConfig.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/config/SystemUpdateConfig.java @@ -1,5 +1,6 @@ package com.linkedin.datahub.upgrade.config; +import com.datahub.authentication.Authentication; import com.linkedin.datahub.upgrade.system.BlockingSystemUpgrade; import com.linkedin.datahub.upgrade.system.NonBlockingSystemUpgrade; import com.linkedin.datahub.upgrade.system.SystemUpdate; @@ -10,13 +11,25 @@ import com.linkedin.gms.factory.kafka.DataHubKafkaProducerFactory; import com.linkedin.gms.factory.kafka.common.TopicConventionFactory; import com.linkedin.gms.factory.kafka.schemaregistry.InternalSchemaRegistryFactory; -import com.linkedin.gms.factory.kafka.schemaregistry.SchemaRegistryConfig; +import com.linkedin.gms.factory.search.BaseElasticSearchComponentsFactory; +import com.linkedin.metadata.aspect.GraphRetriever; import com.linkedin.metadata.config.kafka.KafkaConfiguration; import com.linkedin.metadata.dao.producer.KafkaEventProducer; import com.linkedin.metadata.dao.producer.KafkaHealthChecker; +import com.linkedin.metadata.entity.EntityService; +import com.linkedin.metadata.entity.EntityServiceAspectRetriever; +import com.linkedin.metadata.models.registry.EntityRegistry; +import com.linkedin.metadata.search.SearchService; +import com.linkedin.metadata.search.SearchServiceSearchRetriever; import com.linkedin.metadata.version.GitVersion; import com.linkedin.mxe.TopicConvention; +import io.datahubproject.metadata.context.OperationContext; +import io.datahubproject.metadata.context.OperationContextConfig; +import io.datahubproject.metadata.context.RetrieverContext; +import io.datahubproject.metadata.context.ServicesRegistryContext; +import io.datahubproject.metadata.services.RestrictedService; import java.util.List; +import javax.annotation.Nonnull; import lombok.extern.slf4j.Slf4j; import org.apache.avro.generic.IndexedRecord; import org.apache.kafka.clients.producer.KafkaProducer; @@ -84,7 +97,8 @@ public DataHubStartupStep dataHubStartupStep( protected KafkaEventProducer duheKafkaEventProducer( @Qualifier("configurationProvider") ConfigurationProvider provider, KafkaProperties properties, - @Qualifier("duheSchemaRegistryConfig") SchemaRegistryConfig duheSchemaRegistryConfig) { + @Qualifier("duheSchemaRegistryConfig") + KafkaConfiguration.SerDeKeyValueConfig duheSchemaRegistryConfig) { KafkaConfiguration kafkaConfiguration = provider.getKafka(); Producer producer = new KafkaProducer<>( @@ -116,8 +130,51 @@ protected KafkaEventProducer kafkaEventProducer( @ConditionalOnProperty( name = "kafka.schemaRegistry.type", havingValue = InternalSchemaRegistryFactory.TYPE) - protected SchemaRegistryConfig schemaRegistryConfig( - @Qualifier("duheSchemaRegistryConfig") SchemaRegistryConfig duheSchemaRegistryConfig) { + protected KafkaConfiguration.SerDeKeyValueConfig schemaRegistryConfig( + @Qualifier("duheSchemaRegistryConfig") + KafkaConfiguration.SerDeKeyValueConfig duheSchemaRegistryConfig) { return duheSchemaRegistryConfig; } + + @Primary + @Nonnull + @Bean(name = "systemOperationContext") + protected OperationContext javaSystemOperationContext( + @Nonnull @Qualifier("systemAuthentication") final Authentication systemAuthentication, + @Nonnull final OperationContextConfig operationContextConfig, + @Nonnull final EntityRegistry entityRegistry, + @Nonnull final EntityService entityService, + @Nonnull final RestrictedService restrictedService, + @Nonnull final GraphRetriever graphRetriever, + @Nonnull final SearchService searchService, + @Qualifier("baseElasticSearchComponents") + BaseElasticSearchComponentsFactory.BaseElasticSearchComponents components) { + + EntityServiceAspectRetriever entityServiceAspectRetriever = + EntityServiceAspectRetriever.builder() + .entityRegistry(entityRegistry) + .entityService(entityService) + .build(); + + SearchServiceSearchRetriever searchServiceSearchRetriever = + SearchServiceSearchRetriever.builder().searchService(searchService).build(); + + OperationContext systemOperationContext = + OperationContext.asSystem( + operationContextConfig, + systemAuthentication, + entityServiceAspectRetriever.getEntityRegistry(), + ServicesRegistryContext.builder().restrictedService(restrictedService).build(), + components.getIndexConvention(), + RetrieverContext.builder() + .aspectRetriever(entityServiceAspectRetriever) + .graphRetriever(graphRetriever) + .searchRetriever(searchServiceSearchRetriever) + .build()); + + entityServiceAspectRetriever.setSystemOperationContext(systemOperationContext); + searchServiceSearchRetriever.setSystemOperationContext(systemOperationContext); + + return systemOperationContext; + } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeManager.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeManager.java index 240ec9f7bb2fed..27ba6abbc5ba93 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeManager.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeManager.java @@ -11,6 +11,7 @@ import com.linkedin.datahub.upgrade.UpgradeStep; import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.metadata.utils.metrics.MetricUtils; +import com.linkedin.upgrade.DataHubUpgradeState; import io.datahubproject.metadata.context.OperationContext; import java.util.ArrayList; import java.util.HashMap; @@ -85,11 +86,11 @@ private UpgradeResult executeInternal(UpgradeContext context) { String.format( "Step with id %s requested an abort of the in-progress update. Aborting the upgrade...", step.id())); - return new DefaultUpgradeResult(UpgradeResult.Result.ABORTED, upgradeReport); + return new DefaultUpgradeResult(DataHubUpgradeState.ABORTED, upgradeReport); } // Handle Results - if (UpgradeStepResult.Result.FAILED.equals(stepResult.result())) { + if (DataHubUpgradeState.FAILED.equals(stepResult.result())) { if (step.isOptional()) { upgradeReport.addLine( String.format( @@ -104,7 +105,7 @@ private UpgradeResult executeInternal(UpgradeContext context) { "Failed Step %s/%s: %s. Failed after %s retries.", i + 1, steps.size(), step.id(), step.retryCount())); upgradeReport.addLine(String.format("Exiting upgrade %s with failure.", upgrade.id())); - return new DefaultUpgradeResult(UpgradeResult.Result.FAILED, upgradeReport); + return new DefaultUpgradeResult(DataHubUpgradeState.FAILED, upgradeReport); } upgradeReport.addLine( @@ -113,7 +114,7 @@ private UpgradeResult executeInternal(UpgradeContext context) { upgradeReport.addLine( String.format("Success! Completed upgrade with id %s successfully.", upgrade.id())); - return new DefaultUpgradeResult(UpgradeResult.Result.SUCCEEDED, upgradeReport); + return new DefaultUpgradeResult(DataHubUpgradeState.SUCCEEDED, upgradeReport); } private UpgradeStepResult executeStepInternal(UpgradeContext context, UpgradeStep step) { @@ -130,14 +131,14 @@ private UpgradeStepResult executeStepInternal(UpgradeContext context, UpgradeSte if (result == null) { // Failed to even retrieve a result. Create a default failure result. - result = new DefaultUpgradeStepResult(step.id(), UpgradeStepResult.Result.FAILED); + result = new DefaultUpgradeStepResult(step.id(), DataHubUpgradeState.FAILED); context .report() .addLine(String.format("Retrying %s more times...", maxAttempts - (i + 1))); MetricUtils.counter(MetricRegistry.name(step.id(), "retry")).inc(); } - if (UpgradeStepResult.Result.SUCCEEDED.equals(result.result())) { + if (DataHubUpgradeState.SUCCEEDED.equals(result.result())) { MetricUtils.counter(MetricRegistry.name(step.id(), "succeeded")).inc(); break; } @@ -149,7 +150,7 @@ private UpgradeStepResult executeStepInternal(UpgradeContext context, UpgradeSte String.format( "Caught exception during attempt %s of Step with id %s: %s", i, step.id(), e)); MetricUtils.counter(MetricRegistry.name(step.id(), "failed")).inc(); - result = new DefaultUpgradeStepResult(step.id(), UpgradeStepResult.Result.FAILED); + result = new DefaultUpgradeStepResult(step.id(), DataHubUpgradeState.FAILED); context.report().addLine(String.format("Retrying %s more times...", maxAttempts - (i + 1))); } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeResult.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeResult.java index cf0e7221b406b0..5131cadf5d3fa7 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeResult.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeResult.java @@ -2,19 +2,20 @@ import com.linkedin.datahub.upgrade.UpgradeReport; import com.linkedin.datahub.upgrade.UpgradeResult; +import com.linkedin.upgrade.DataHubUpgradeState; public class DefaultUpgradeResult implements UpgradeResult { - private final Result _result; + private final DataHubUpgradeState _result; private final UpgradeReport _report; - DefaultUpgradeResult(Result result, UpgradeReport report) { + DefaultUpgradeResult(DataHubUpgradeState result, UpgradeReport report) { _result = result; _report = report; } @Override - public Result result() { + public DataHubUpgradeState result() { return _result; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeStepResult.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeStepResult.java index e11eaf89bfc8d2..cab0708fa52249 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeStepResult.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/impl/DefaultUpgradeStepResult.java @@ -1,18 +1,19 @@ package com.linkedin.datahub.upgrade.impl; import com.linkedin.datahub.upgrade.UpgradeStepResult; +import com.linkedin.upgrade.DataHubUpgradeState; public class DefaultUpgradeStepResult implements UpgradeStepResult { private final String _stepId; - private final Result _result; + private final DataHubUpgradeState _result; private final Action _action; - public DefaultUpgradeStepResult(String stepId, Result result) { + public DefaultUpgradeStepResult(String stepId, DataHubUpgradeState result) { this(stepId, result, Action.CONTINUE); } - public DefaultUpgradeStepResult(String stepId, Result result, Action action) { + public DefaultUpgradeStepResult(String stepId, DataHubUpgradeState result, Action action) { _stepId = stepId; _result = result; _action = action; @@ -24,7 +25,7 @@ public String stepId() { } @Override - public Result result() { + public DataHubUpgradeState result() { return _result; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/CreateAspectTableStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/CreateAspectTableStep.java index 3b3098f43c4734..4855cef95cb6e5 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/CreateAspectTableStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/CreateAspectTableStep.java @@ -4,6 +4,7 @@ import com.linkedin.datahub.upgrade.UpgradeStep; import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; +import com.linkedin.upgrade.DataHubUpgradeState; import io.ebean.Database; import java.util.function.Function; @@ -79,9 +80,9 @@ public Function executable() { _server.execute(_server.createSqlUpdate(sqlUpdateStr)); } catch (Exception e) { context.report().addLine("Failed to create table metadata_aspect_v2", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/DataMigrationStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/DataMigrationStep.java index 94bf97f3c9c9e7..ecff2e3ee6e18b 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/DataMigrationStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/DataMigrationStep.java @@ -18,6 +18,7 @@ import com.linkedin.metadata.models.EntitySpec; import com.linkedin.metadata.models.registry.EntityRegistry; import com.linkedin.metadata.utils.PegasusUtils; +import com.linkedin.upgrade.DataHubUpgradeState; import com.linkedin.util.Pair; import io.ebean.Database; import io.ebean.PagedList; @@ -100,7 +101,7 @@ public Function executable() { "Failed to convert aspect with name %s into a RecordTemplate class", oldAspectName), e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } // 2. Extract an Entity type from the entity Urn @@ -127,7 +128,7 @@ public Function executable() { String.format( "Failed to find Entity with name %s in Entity Registry", entityName), e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } // 4. Extract new aspect name from Aspect schema @@ -142,7 +143,7 @@ public Function executable() { "Failed to retrieve @Aspect name from schema %s, urn %s", aspectRecord.schema().getFullName(), entityName), e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } // 5. Verify that the aspect is a valid aspect associated with the entity @@ -157,7 +158,7 @@ public Function executable() { "Failed to find aspect spec with name %s associated with entity named %s", newAspectName, entityName), e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } // 6. Write the row back using the EntityService @@ -214,9 +215,9 @@ public Function executable() { String.format( "Number of rows migrated %s does not equal the number of input rows %s...", totalRowsMigrated, rowCount)); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/RemoveAspectV2TableStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/RemoveAspectV2TableStep.java index 6180573d902d22..39346fa09d2319 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/RemoveAspectV2TableStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/RemoveAspectV2TableStep.java @@ -4,6 +4,7 @@ import com.linkedin.datahub.upgrade.UpgradeStep; import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; +import com.linkedin.upgrade.DataHubUpgradeState; import io.ebean.Database; import java.util.function.Function; @@ -26,7 +27,7 @@ public Function executable() { return (context) -> { context.report().addLine("Cleanup requested. Dropping metadata_aspect_v2"); _server.execute(_server.sqlUpdate("DROP TABLE IF EXISTS metadata_aspect_v2")); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/UpgradeQualificationStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/UpgradeQualificationStep.java index d22af9d2924003..33de9f842a3aed 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/UpgradeQualificationStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/UpgradeQualificationStep.java @@ -5,6 +5,7 @@ import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.metadata.entity.ebean.AspectStorageValidationUtil; +import com.linkedin.upgrade.DataHubUpgradeState; import io.ebean.Database; import java.util.function.Function; @@ -31,22 +32,22 @@ public Function executable() { return (context) -> { if (context.parsedArgs().containsKey(NoCodeUpgrade.FORCE_UPGRADE_ARG_NAME)) { context.report().addLine("Forced upgrade detected. Proceeding with upgrade..."); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); } try { if (isQualified(_server, context)) { // Qualified. context.report().addLine("Found qualified upgrade candidate. Proceeding with upgrade..."); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); } // Unqualified (Table already exists) context.report().addLine("Failed to qualify upgrade candidate. Aborting the upgrade..."); return new DefaultUpgradeStepResult( - id(), UpgradeStepResult.Result.SUCCEEDED, UpgradeStepResult.Action.ABORT); + id(), DataHubUpgradeState.SUCCEEDED, UpgradeStepResult.Action.ABORT); } catch (Exception e) { context.report().addLine("Failed to check if metadata_aspect_v2 table exists", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteAspectTableStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteAspectTableStep.java index ba0a0124545e9d..f310c65375fb3b 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteAspectTableStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteAspectTableStep.java @@ -4,6 +4,7 @@ import com.linkedin.datahub.upgrade.UpgradeStep; import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; +import com.linkedin.upgrade.DataHubUpgradeState; import io.ebean.Database; import java.util.function.Function; @@ -33,9 +34,9 @@ public Function executable() { _server.execute(_server.sqlUpdate("DROP TABLE IF EXISTS metadata_aspect;")); } catch (Exception e) { context.report().addLine("Failed to delete data from legacy table metadata_aspect", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacyGraphRelationshipsStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacyGraphRelationshipsStep.java index 5066e05f8bf5a1..47da1da8396430 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacyGraphRelationshipsStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacyGraphRelationshipsStep.java @@ -6,6 +6,7 @@ import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.metadata.graph.GraphService; import com.linkedin.metadata.graph.neo4j.Neo4jGraphService; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.function.Function; import lombok.extern.slf4j.Slf4j; @@ -42,9 +43,9 @@ public Function executable() { } } catch (Exception e) { context.report().addLine("Failed to delete legacy data from graph", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacySearchIndicesStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacySearchIndicesStep.java index 05656373377b93..33ace43fee8b2a 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacySearchIndicesStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/DeleteLegacySearchIndicesStep.java @@ -5,6 +5,7 @@ import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.metadata.utils.elasticsearch.IndexConvention; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.function.Function; import lombok.RequiredArgsConstructor; import org.opensearch.action.admin.indices.delete.DeleteIndexRequest; @@ -43,9 +44,9 @@ public Function executable() { _searchClient.indices().delete(request, RequestOptions.DEFAULT); } catch (Exception e) { context.report().addLine("Failed to delete legacy search index: %s", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/NoCodeUpgradeQualificationStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/NoCodeUpgradeQualificationStep.java index 15c7584532e2ca..d8284fe47f9390 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/NoCodeUpgradeQualificationStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocodecleanup/NoCodeUpgradeQualificationStep.java @@ -5,6 +5,7 @@ import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.metadata.entity.ebean.AspectStorageValidationUtil; +import com.linkedin.upgrade.DataHubUpgradeState; import io.ebean.Database; import java.util.function.Function; @@ -36,15 +37,15 @@ public Function executable() { .report() .addLine("You have not successfully migrated yet. Aborting the cleanup..."); return new DefaultUpgradeStepResult( - id(), UpgradeStepResult.Result.SUCCEEDED, UpgradeStepResult.Action.ABORT); + id(), DataHubUpgradeState.SUCCEEDED, UpgradeStepResult.Action.ABORT); } else { // Qualified. context.report().addLine("Found qualified upgrade candidate. Proceeding with upgrade..."); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); } } catch (Exception e) { context.report().addLine("Failed to check if metadata_aspect_v2 table exists: %s", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/removeunknownaspects/RemoveClientIdAspectStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/removeunknownaspects/RemoveClientIdAspectStep.java index 6054599aa843c1..16b78a8dc8c6b3 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/removeunknownaspects/RemoveClientIdAspectStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/removeunknownaspects/RemoveClientIdAspectStep.java @@ -6,6 +6,7 @@ import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.gms.factory.telemetry.TelemetryUtils; import com.linkedin.metadata.entity.EntityService; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.HashMap; import java.util.function.Function; import lombok.RequiredArgsConstructor; @@ -38,8 +39,7 @@ public Function executable() { INVALID_CLIENT_ID_ASPECT, new HashMap<>(), true); - return (UpgradeStepResult) - new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return (UpgradeStepResult) new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/ClearAspectV2TableStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/ClearAspectV2TableStep.java index addf6dcb89c1ae..febc1bec6fe266 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/ClearAspectV2TableStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/ClearAspectV2TableStep.java @@ -5,6 +5,7 @@ import com.linkedin.datahub.upgrade.UpgradeStepResult; import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.metadata.entity.ebean.EbeanAspectV2; +import com.linkedin.upgrade.DataHubUpgradeState; import io.ebean.Database; import java.util.function.Function; @@ -26,7 +27,7 @@ public String id() { public Function executable() { return (context) -> { _server.find(EbeanAspectV2.class).delete(); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreBackup.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreBackup.java index bcaeaa34e8936d..7496655e581b09 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreBackup.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreBackup.java @@ -6,6 +6,7 @@ import com.linkedin.datahub.upgrade.UpgradeStep; import com.linkedin.datahub.upgrade.common.steps.ClearGraphServiceStep; import com.linkedin.datahub.upgrade.common.steps.ClearSearchServiceStep; +import com.linkedin.datahub.upgrade.common.steps.ClearSystemMetadataServiceStep; import com.linkedin.datahub.upgrade.common.steps.GMSDisableWriteModeStep; import com.linkedin.datahub.upgrade.common.steps.GMSEnableWriteModeStep; import com.linkedin.entity.client.SystemEntityClient; @@ -13,6 +14,7 @@ import com.linkedin.metadata.graph.GraphService; import com.linkedin.metadata.models.registry.EntityRegistry; import com.linkedin.metadata.search.EntitySearchService; +import com.linkedin.metadata.systemmetadata.SystemMetadataService; import io.ebean.Database; import java.util.ArrayList; import java.util.List; @@ -26,13 +28,20 @@ public RestoreBackup( @Nullable final Database server, final EntityService entityService, final EntityRegistry entityRegistry, - final SystemEntityClient entityClient, - final GraphService graphClient, - final EntitySearchService searchClient) { + final SystemEntityClient systemEntityClient, + final SystemMetadataService systemMetadataService, + final EntitySearchService entitySearchService, + final GraphService graphClient) { if (server != null) { _steps = buildSteps( - server, entityService, entityRegistry, entityClient, graphClient, searchClient); + server, + entityService, + entityRegistry, + systemEntityClient, + systemMetadataService, + entitySearchService, + graphClient); } else { _steps = List.of(); } @@ -52,16 +61,18 @@ private List buildSteps( final Database server, final EntityService entityService, final EntityRegistry entityRegistry, - final SystemEntityClient entityClient, - final GraphService graphClient, - final EntitySearchService searchClient) { + final SystemEntityClient systemEntityClient, + final SystemMetadataService systemMetadataService, + final EntitySearchService entitySearchService, + final GraphService graphClient) { final List steps = new ArrayList<>(); - steps.add(new GMSDisableWriteModeStep(entityClient)); - steps.add(new ClearSearchServiceStep(searchClient, true)); + steps.add(new GMSDisableWriteModeStep(systemEntityClient)); + steps.add(new ClearSystemMetadataServiceStep(systemMetadataService, true)); + steps.add(new ClearSearchServiceStep(entitySearchService, true)); steps.add(new ClearGraphServiceStep(graphClient, true)); steps.add(new ClearAspectV2TableStep(server)); steps.add(new RestoreStorageStep(entityService, entityRegistry)); - steps.add(new GMSEnableWriteModeStep(entityClient)); + steps.add(new GMSEnableWriteModeStep(systemEntityClient)); return steps; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreStorageStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreStorageStep.java index eb0b24acc1ac37..4d53b603c1eaff 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreStorageStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restorebackup/RestoreStorageStep.java @@ -20,6 +20,7 @@ import com.linkedin.metadata.models.AspectSpec; import com.linkedin.metadata.models.EntitySpec; import com.linkedin.metadata.models.registry.EntityRegistry; +import com.linkedin.upgrade.DataHubUpgradeState; import com.linkedin.util.Pair; import java.lang.reflect.InvocationTargetException; import java.net.URISyntaxException; @@ -89,7 +90,7 @@ public Function executable() { context.report().addLine("BACKUP_READER: " + backupReaderName.toString()); if (!backupReaderName.isPresent() || !_backupReaders.containsKey(backupReaderName.get())) { context.report().addLine("BACKUP_READER is not set or is not valid"); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } Class> clazz = @@ -134,7 +135,7 @@ public Function executable() { } context.report().addLine(String.format("Added %d rows to the aspect v2 table", numRows)); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/RestoreIndices.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/RestoreIndices.java index 9bc42e23a99746..9d239a56224862 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/RestoreIndices.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/RestoreIndices.java @@ -6,9 +6,11 @@ import com.linkedin.datahub.upgrade.UpgradeStep; import com.linkedin.datahub.upgrade.common.steps.ClearGraphServiceStep; import com.linkedin.datahub.upgrade.common.steps.ClearSearchServiceStep; +import com.linkedin.datahub.upgrade.common.steps.ClearSystemMetadataServiceStep; import com.linkedin.metadata.entity.EntityService; import com.linkedin.metadata.graph.GraphService; import com.linkedin.metadata.search.EntitySearchService; +import com.linkedin.metadata.systemmetadata.SystemMetadataService; import io.ebean.Database; import java.util.ArrayList; import java.util.List; @@ -32,10 +34,13 @@ public class RestoreIndices implements Upgrade { public RestoreIndices( @Nullable final Database server, final EntityService entityService, + final SystemMetadataService systemMetadataService, final EntitySearchService entitySearchService, final GraphService graphService) { if (server != null) { - _steps = buildSteps(server, entityService, entitySearchService, graphService); + _steps = + buildSteps( + server, entityService, systemMetadataService, entitySearchService, graphService); } else { _steps = List.of(); } @@ -54,9 +59,11 @@ public List steps() { private List buildSteps( final Database server, final EntityService entityService, + final SystemMetadataService systemMetadataService, final EntitySearchService entitySearchService, final GraphService graphService) { final List steps = new ArrayList<>(); + steps.add(new ClearSystemMetadataServiceStep(systemMetadataService, false)); steps.add(new ClearSearchServiceStep(entitySearchService, false)); steps.add(new ClearGraphServiceStep(graphService, false)); steps.add(new SendMAEStep(server, entityService)); diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/SendMAEStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/SendMAEStep.java index 77d988f3176f29..8e62db444a5655 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/SendMAEStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/restoreindices/SendMAEStep.java @@ -10,6 +10,7 @@ import com.linkedin.metadata.entity.ebean.EbeanAspectV2; import com.linkedin.metadata.entity.restoreindices.RestoreIndicesArgs; import com.linkedin.metadata.entity.restoreindices.RestoreIndicesResult; +import com.linkedin.upgrade.DataHubUpgradeState; import io.ebean.Database; import io.ebean.ExpressionList; import java.util.ArrayList; @@ -188,7 +189,7 @@ public Function executable() { context.report().addLine(String.format("Rows processed this loop %d", rowsProcessed)); start += args.batchSize; } catch (InterruptedException | ExecutionException e) { - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } } } else { @@ -219,7 +220,7 @@ public Function executable() { "Failed to send MAEs for %d rows (%.2f%% of total).", rowCount - finalJobResult.rowsMigrated, percentFailed)); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/AbstractMCLStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/AbstractMCLStep.java index 27e98259c8beb5..6c70aee88675c5 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/AbstractMCLStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/AbstractMCLStep.java @@ -16,6 +16,7 @@ import com.linkedin.metadata.entity.ebean.PartitionedStream; import com.linkedin.metadata.entity.restoreindices.RestoreIndicesArgs; import com.linkedin.metadata.utils.AuditStampUtils; +import com.linkedin.upgrade.DataHubUpgradeState; import com.linkedin.util.Pair; import io.datahubproject.metadata.context.OperationContext; import java.util.List; @@ -134,7 +135,7 @@ public Function executable() { BootstrapStep.setUpgradeResult(opContext, getUpgradeIdUrn(), entityService); context.report().addLine("State updated: " + getUpgradeIdUrn()); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/browsepaths/BackfillBrowsePathsV2Step.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/browsepaths/BackfillBrowsePathsV2Step.java index 09b27fbcfbdf29..e6213a164febf7 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/browsepaths/BackfillBrowsePathsV2Step.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/browsepaths/BackfillBrowsePathsV2Step.java @@ -1,6 +1,7 @@ package com.linkedin.datahub.upgrade.system.browsepaths; import static com.linkedin.metadata.Constants.*; +import static com.linkedin.metadata.utils.SystemMetadataUtils.createDefaultSystemMetadata; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; @@ -29,7 +30,7 @@ import com.linkedin.metadata.search.SearchService; import com.linkedin.metadata.utils.GenericRecordUtils; import com.linkedin.mxe.MetadataChangeProposal; -import com.linkedin.mxe.SystemMetadata; +import com.linkedin.upgrade.DataHubUpgradeState; import io.datahubproject.metadata.context.OperationContext; import java.util.Set; import java.util.function.Function; @@ -98,7 +99,7 @@ public Function executable() { BootstrapStep.setUpgradeResult(context.opContext(), UPGRADE_ID_URN, entityService); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } @@ -208,8 +209,7 @@ private void ingestBrowsePathsV2( proposal.setEntityType(urn.getEntityType()); proposal.setAspectName(Constants.BROWSE_PATHS_V2_ASPECT_NAME); proposal.setChangeType(ChangeType.UPSERT); - proposal.setSystemMetadata( - new SystemMetadata().setRunId(DEFAULT_RUN_ID).setLastObserved(System.currentTimeMillis())); + proposal.setSystemMetadata(createDefaultSystemMetadata()); proposal.setAspect(GenericRecordUtils.serializeAspect(browsePathsV2)); entityService.ingestProposal(opContext, proposal, auditStamp, true); } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/domaindescription/ReindexDomainDescription.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/domaindescription/ReindexDomainDescription.java new file mode 100644 index 00000000000000..85af912e24f68a --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/domaindescription/ReindexDomainDescription.java @@ -0,0 +1,49 @@ +package com.linkedin.datahub.upgrade.system.domaindescription; + +import com.google.common.collect.ImmutableList; +import com.linkedin.datahub.upgrade.UpgradeStep; +import com.linkedin.datahub.upgrade.system.NonBlockingSystemUpgrade; +import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.EntityService; +import io.datahubproject.metadata.context.OperationContext; +import java.util.List; +import javax.annotation.Nonnull; +import lombok.extern.slf4j.Slf4j; + +/** + * A job that reindexes all domain aspects as part of reindexing descriptions This is required to + * fix the analytics for domains + */ +@Slf4j +public class ReindexDomainDescription implements NonBlockingSystemUpgrade { + + private final List _steps; + + public ReindexDomainDescription( + @Nonnull OperationContext opContext, + EntityService entityService, + AspectDao aspectDao, + boolean enabled, + Integer batchSize, + Integer batchDelayMs, + Integer limit) { + if (enabled) { + _steps = + ImmutableList.of( + new ReindexDomainDescriptionStep( + opContext, entityService, aspectDao, batchSize, batchDelayMs, limit)); + } else { + _steps = ImmutableList.of(); + } + } + + @Override + public String id() { + return this.getClass().getName(); + } + + @Override + public List steps() { + return _steps; + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/domaindescription/ReindexDomainDescriptionStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/domaindescription/ReindexDomainDescriptionStep.java new file mode 100644 index 00000000000000..1fa8bc92af078f --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/domaindescription/ReindexDomainDescriptionStep.java @@ -0,0 +1,42 @@ +package com.linkedin.datahub.upgrade.system.domaindescription; + +import static com.linkedin.metadata.Constants.*; + +import com.linkedin.datahub.upgrade.system.AbstractMCLStep; +import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.EntityService; +import io.datahubproject.metadata.context.OperationContext; +import javax.annotation.Nonnull; +import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.Nullable; + +@Slf4j +public class ReindexDomainDescriptionStep extends AbstractMCLStep { + + public ReindexDomainDescriptionStep( + OperationContext opContext, + EntityService entityService, + AspectDao aspectDao, + Integer batchSize, + Integer batchDelayMs, + Integer limit) { + super(opContext, entityService, aspectDao, batchSize, batchDelayMs, limit); + } + + @Override + public String id() { + return "domain-description-v1"; + } + + @Nonnull + @Override + protected String getAspectName() { + return DOMAIN_PROPERTIES_ASPECT_NAME; + } + + @Nullable + @Override + protected String getUrnLike() { + return "urn:li:" + DOMAIN_ENTITY_NAME + ":%"; + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPostStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPostStep.java index 09f65c84480279..c7e59998860c17 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPostStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPostStep.java @@ -14,6 +14,7 @@ import com.linkedin.metadata.search.elasticsearch.indexbuilder.ReindexConfig; import com.linkedin.metadata.shared.ElasticSearchIndexed; import com.linkedin.structured.StructuredPropertyDefinition; +import com.linkedin.upgrade.DataHubUpgradeState; import com.linkedin.util.Pair; import java.util.List; import java.util.Map; @@ -86,14 +87,14 @@ public Function executable() { log.error( "Partial index settings update, some indices may still be blocking writes." + " Please fix the error and rerun the BuildIndices upgrade job."); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } } } catch (Exception e) { log.error("BuildIndicesPostStep failed.", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPreStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPreStep.java index 983e7f0c97f38b..bd56042a1ff16d 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPreStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesPreStep.java @@ -15,6 +15,7 @@ import com.linkedin.metadata.search.elasticsearch.indexbuilder.ReindexConfig; import com.linkedin.metadata.shared.ElasticSearchIndexed; import com.linkedin.structured.StructuredPropertyDefinition; +import com.linkedin.upgrade.DataHubUpgradeState; import com.linkedin.util.Pair; import java.io.IOException; import java.util.List; @@ -69,7 +70,7 @@ public Function executable() { log.error( "Partial index settings update, some indices may still be blocking writes." + " Please fix the error and re-run the BuildIndices upgrade job."); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } // Clone indices @@ -87,15 +88,15 @@ public Function executable() { log.error( "Partial index settings update, cloned indices may need to be cleaned up: {}", clonedName); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } } } } catch (Exception e) { log.error("BuildIndicesPreStep failed.", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesStep.java index 5cf370162a3125..0aefc078ffdcba 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/BuildIndicesStep.java @@ -7,6 +7,7 @@ import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.metadata.shared.ElasticSearchIndexed; import com.linkedin.structured.StructuredPropertyDefinition; +import com.linkedin.upgrade.DataHubUpgradeState; import com.linkedin.util.Pair; import java.util.List; import java.util.Set; @@ -40,9 +41,9 @@ public Function executable() { } } catch (Exception e) { log.error("BuildIndicesStep failed.", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/CleanIndicesStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/CleanIndicesStep.java index fd5592c4ead25e..63b23fefceaf98 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/CleanIndicesStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/CleanIndicesStep.java @@ -10,6 +10,7 @@ import com.linkedin.metadata.search.elasticsearch.indexbuilder.ESIndexBuilder; import com.linkedin.metadata.shared.ElasticSearchIndexed; import com.linkedin.structured.StructuredPropertyDefinition; +import com.linkedin.upgrade.DataHubUpgradeState; import com.linkedin.util.Pair; import java.util.List; import java.util.Set; @@ -54,9 +55,9 @@ public Function executable() { reindexConfig -> ESIndexBuilder.cleanIndex(searchClient, esConfig, reindexConfig)); } catch (Exception e) { log.error("CleanUpIndicesStep failed.", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/DataHubStartupStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/DataHubStartupStep.java index d2b5965a3109ce..1d83810580cf55 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/DataHubStartupStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/elasticsearch/steps/DataHubStartupStep.java @@ -6,6 +6,7 @@ import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; import com.linkedin.metadata.dao.producer.KafkaEventProducer; import com.linkedin.mxe.DataHubUpgradeHistoryEvent; +import com.linkedin.upgrade.DataHubUpgradeState; import java.util.function.Function; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -36,9 +37,9 @@ public Function executable() { log.info("System Update finished for version: {}", _version); } catch (Exception e) { log.error("DataHubStartupStep failed.", e); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.FAILED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.FAILED); } - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } } diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/policyfields/BackfillPolicyFieldsStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/policyfields/BackfillPolicyFieldsStep.java index 93bf8cc5b9b60e..ad28e6b6382d45 100644 --- a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/policyfields/BackfillPolicyFieldsStep.java +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/policyfields/BackfillPolicyFieldsStep.java @@ -1,6 +1,7 @@ package com.linkedin.datahub.upgrade.system.policyfields; import static com.linkedin.metadata.Constants.*; +import static com.linkedin.metadata.utils.SystemMetadataUtils.createDefaultSystemMetadata; import com.google.common.collect.ImmutableList; import com.linkedin.common.AuditStamp; @@ -25,8 +26,8 @@ import com.linkedin.metadata.search.ScrollResult; import com.linkedin.metadata.search.SearchEntity; import com.linkedin.metadata.search.SearchService; -import com.linkedin.mxe.SystemMetadata; import com.linkedin.policy.DataHubPolicyInfo; +import com.linkedin.upgrade.DataHubUpgradeState; import io.datahubproject.metadata.context.OperationContext; import java.net.URISyntaxException; import java.util.Collections; @@ -90,7 +91,7 @@ public Function executable() { BootstrapStep.setUpgradeResult(context.opContext(), UPGRADE_ID_URN, entityService); - return new DefaultUpgradeStepResult(id(), UpgradeStepResult.Result.SUCCEEDED); + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); }; } @@ -234,9 +235,7 @@ private Optional> ingestPolicyFields( null, infoAspect, null, - new SystemMetadata() - .setRunId(DEFAULT_RUN_ID) - .setLastObserved(System.currentTimeMillis()), + createDefaultSystemMetadata(), auditStamp, ChangeType.RESTATE) .getFirst()); diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/GenerateSchemaFieldsFromSchemaMetadata.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/GenerateSchemaFieldsFromSchemaMetadata.java new file mode 100644 index 00000000000000..20bc65bf15daee --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/GenerateSchemaFieldsFromSchemaMetadata.java @@ -0,0 +1,48 @@ +package com.linkedin.datahub.upgrade.system.schemafield; + +import com.google.common.collect.ImmutableList; +import com.linkedin.datahub.upgrade.UpgradeStep; +import com.linkedin.datahub.upgrade.system.NonBlockingSystemUpgrade; +import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.EntityService; +import io.datahubproject.metadata.context.OperationContext; +import java.util.List; +import javax.annotation.Nonnull; +import lombok.extern.slf4j.Slf4j; + +/** + * A {@link NonBlockingSystemUpgrade} upgrade job that generates schema fields from schema metadata. + */ +@Slf4j +public class GenerateSchemaFieldsFromSchemaMetadata implements NonBlockingSystemUpgrade { + + private final List _steps; + + public GenerateSchemaFieldsFromSchemaMetadata( + @Nonnull OperationContext opContext, + EntityService entityService, + AspectDao aspectDao, + boolean enabled, + Integer batchSize, + Integer batchDelayMs, + Integer limit) { + if (enabled) { + _steps = + ImmutableList.of( + new GenerateSchemaFieldsFromSchemaMetadataStep( + opContext, entityService, aspectDao, batchSize, batchDelayMs, limit)); + } else { + _steps = ImmutableList.of(); + } + } + + @Override + public String id() { + return this.getClass().getName(); + } + + @Override + public List steps() { + return _steps; + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/GenerateSchemaFieldsFromSchemaMetadataStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/GenerateSchemaFieldsFromSchemaMetadataStep.java new file mode 100644 index 00000000000000..eece83f4ab713e --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/GenerateSchemaFieldsFromSchemaMetadataStep.java @@ -0,0 +1,256 @@ +package com.linkedin.datahub.upgrade.system.schemafield; + +import static com.linkedin.metadata.Constants.APP_SOURCE; +import static com.linkedin.metadata.Constants.DATASET_ENTITY_NAME; +import static com.linkedin.metadata.Constants.SCHEMA_METADATA_ASPECT_NAME; +import static com.linkedin.metadata.Constants.STATUS_ASPECT_NAME; +import static com.linkedin.metadata.Constants.SYSTEM_UPDATE_SOURCE; + +import com.google.common.annotations.VisibleForTesting; +import com.linkedin.common.urn.Urn; +import com.linkedin.data.template.StringMap; +import com.linkedin.datahub.upgrade.UpgradeContext; +import com.linkedin.datahub.upgrade.UpgradeStep; +import com.linkedin.datahub.upgrade.UpgradeStepResult; +import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; +import com.linkedin.events.metadata.ChangeType; +import com.linkedin.metadata.aspect.ReadItem; +import com.linkedin.metadata.aspect.batch.AspectsBatch; +import com.linkedin.metadata.boot.BootstrapStep; +import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.EntityService; +import com.linkedin.metadata.entity.EntityUtils; +import com.linkedin.metadata.entity.ebean.EbeanAspectV2; +import com.linkedin.metadata.entity.ebean.PartitionedStream; +import com.linkedin.metadata.entity.ebean.batch.AspectsBatchImpl; +import com.linkedin.metadata.entity.ebean.batch.ChangeItemImpl; +import com.linkedin.metadata.entity.restoreindices.RestoreIndicesArgs; +import com.linkedin.mxe.SystemMetadata; +import com.linkedin.upgrade.DataHubUpgradeResult; +import com.linkedin.upgrade.DataHubUpgradeState; +import io.datahubproject.metadata.context.OperationContext; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.function.Function; +import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.Nullable; + +/** + * The `GenerateSchemaFieldsFromSchemaMetadataStep` class is an implementation of the `UpgradeStep` + * interface. This class is responsible for generating schema fields from schema metadata during an + * upgrade process. + * + *

The step performs the following actions: 1. Initializes with provided operation context, + * entity service, and aspect DAO. 2. Provides a unique identifier for the upgrade step. 3. + * Determines if the upgrade should be skipped based on the environment variable. 4. Executes the + * upgrade step which involves streaming aspects in batches, processing them, and updating schema + * fields. + * + *

This class utilizes various metadata and entity services to perform its operations, and + * includes configuration parameters such as batch size, delay between batches, and limits. + * + *

Environment Variables: - `SKIP_GENERATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA`: If set to `true`, + * the upgrade step is skipped. + * + *

Note: Schema Fields are generated with a status aspect to indicate presence of the field. No + * tags, documentation or other aspects are generated. We will write an upgrade to this job to + * generate the other aspects in the future (v2). + */ +@Slf4j +public class GenerateSchemaFieldsFromSchemaMetadataStep implements UpgradeStep { + private static final String LAST_URN_KEY = "lastUrn"; + private static final List REQUIRED_ASPECTS = + List.of(SCHEMA_METADATA_ASPECT_NAME, STATUS_ASPECT_NAME); + + private final OperationContext opContext; + private final EntityService entityService; + private final AspectDao aspectDao; + + private final int batchSize; + private final int batchDelayMs; + private final int limit; + + public GenerateSchemaFieldsFromSchemaMetadataStep( + OperationContext opContext, + EntityService entityService, + AspectDao aspectDao, + Integer batchSize, + Integer batchDelayMs, + Integer limit) { + this.opContext = opContext; + this.entityService = entityService; + this.aspectDao = aspectDao; + this.batchSize = batchSize; + this.batchDelayMs = batchDelayMs; + this.limit = limit; + log.info("GenerateSchemaFieldsFromSchemaMetadataStep initialized"); + } + + @Override + public String id() { + return "schema-field-from-schema-metadata-v1"; + } + + @VisibleForTesting + @Nullable + public String getUrnLike() { + return "urn:li:" + DATASET_ENTITY_NAME + ":%"; + } + + /** + * Returns whether the upgrade should be skipped. Uses previous run history or the environment + * variable SKIP_GENERATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA to determine whether to skip. + */ + public boolean skip(UpgradeContext context) { + if (Boolean.parseBoolean(System.getenv("SKIP_GENERATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA"))) { + log.info( + "Environment variable SKIP_GENERATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA is set to true. Skipping."); + return true; + } + + Optional prevResult = + context.upgrade().getUpgradeResult(opContext, getUpgradeIdUrn(), entityService); + + return prevResult + .filter( + result -> + DataHubUpgradeState.SUCCEEDED.equals(result.getState()) + || DataHubUpgradeState.ABORTED.equals(result.getState())) + .isPresent(); + } + + protected Urn getUpgradeIdUrn() { + return BootstrapStep.getUpgradeUrn(id()); + } + + @Override + public Function executable() { + log.info("Starting GenerateSchemaFieldsFromSchemaMetadataStep"); + return (context) -> { + // Resume state + Optional prevResult = + context.upgrade().getUpgradeResult(opContext, getUpgradeIdUrn(), entityService); + String resumeUrn = + prevResult + .filter( + result -> + DataHubUpgradeState.IN_PROGRESS.equals(result.getState()) + && result.getResult() != null + && result.getResult().containsKey(LAST_URN_KEY)) + .map(result -> result.getResult().get(LAST_URN_KEY)) + .orElse(null); + if (resumeUrn != null) { + log.info("{}: Resuming from URN: {}", getUpgradeIdUrn(), resumeUrn); + } + + // re-using for configuring the sql scan + RestoreIndicesArgs args = + new RestoreIndicesArgs() + .aspectNames(REQUIRED_ASPECTS) + .batchSize(batchSize) + .lastUrn(resumeUrn) + .urnBasedPagination(resumeUrn != null) + .limit(limit); + + if (getUrnLike() != null) { + args = args.urnLike(getUrnLike()); + } + + try (PartitionedStream stream = aspectDao.streamAspectBatches(args)) { + stream + .partition(args.batchSize) + .forEach( + batch -> { + log.info("Processing batch of size {}.", batchSize); + + AspectsBatch aspectsBatch = + AspectsBatchImpl.builder() + .retrieverContext(opContext.getRetrieverContext().get()) + .items( + batch + .flatMap( + ebeanAspectV2 -> + EntityUtils.toSystemAspectFromEbeanAspects( + opContext.getRetrieverContext().get(), + Set.of(ebeanAspectV2)) + .stream()) + .map( + systemAspect -> + ChangeItemImpl.builder() + .changeType(ChangeType.UPSERT) + .urn(systemAspect.getUrn()) + .entitySpec(systemAspect.getEntitySpec()) + .aspectName(systemAspect.getAspectName()) + .aspectSpec(systemAspect.getAspectSpec()) + .recordTemplate(systemAspect.getRecordTemplate()) + .auditStamp(systemAspect.getAuditStamp()) + .systemMetadata( + withAppSource(systemAspect.getSystemMetadata())) + .build( + opContext + .getRetrieverContext() + .get() + .getAspectRetriever())) + .collect(Collectors.toList())) + .build(); + + // re-ingest the aspects to trigger side effects + entityService.ingestAspects(opContext, aspectsBatch, true, false); + + // record progress + Urn lastUrn = + aspectsBatch.getItems().stream() + .reduce((a, b) -> b) + .map(ReadItem::getUrn) + .orElse(null); + if (lastUrn != null) { + log.info("{}: Saving state. Last urn:{}", getUpgradeIdUrn(), lastUrn); + context + .upgrade() + .setUpgradeResult( + opContext, + getUpgradeIdUrn(), + entityService, + DataHubUpgradeState.IN_PROGRESS, + Map.of(LAST_URN_KEY, lastUrn.toString())); + } + + if (batchDelayMs > 0) { + log.info("Sleeping for {} ms", batchDelayMs); + try { + Thread.sleep(batchDelayMs); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + }); + } + + BootstrapStep.setUpgradeResult(opContext, getUpgradeIdUrn(), entityService); + context.report().addLine("State updated: " + getUpgradeIdUrn()); + + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); + }; + } + + private static SystemMetadata withAppSource(@Nullable SystemMetadata systemMetadata) { + SystemMetadata withAppSourceSystemMetadata = null; + try { + withAppSourceSystemMetadata = + systemMetadata != null + ? new SystemMetadata(systemMetadata.copy().data()) + : new SystemMetadata(); + } catch (CloneNotSupportedException e) { + throw new RuntimeException(e); + } + StringMap properties = withAppSourceSystemMetadata.getProperties(); + StringMap map = properties != null ? new StringMap(properties.data()) : new StringMap(); + map.put(APP_SOURCE, SYSTEM_UPDATE_SOURCE); + + withAppSourceSystemMetadata.setProperties(map); + return withAppSourceSystemMetadata; + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/MigrateSchemaFieldDocIds.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/MigrateSchemaFieldDocIds.java new file mode 100644 index 00000000000000..6cfd0d8c032ec1 --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/MigrateSchemaFieldDocIds.java @@ -0,0 +1,50 @@ +package com.linkedin.datahub.upgrade.system.schemafield; + +import com.google.common.collect.ImmutableList; +import com.linkedin.datahub.upgrade.UpgradeStep; +import com.linkedin.datahub.upgrade.system.NonBlockingSystemUpgrade; +import com.linkedin.gms.factory.search.BaseElasticSearchComponentsFactory; +import com.linkedin.metadata.entity.EntityService; +import io.datahubproject.metadata.context.OperationContext; +import java.util.List; +import javax.annotation.Nonnull; +import lombok.extern.slf4j.Slf4j; + +/** Migrate from URN document ids to hash based ids */ +@Slf4j +public class MigrateSchemaFieldDocIds implements NonBlockingSystemUpgrade { + private final List _steps; + + public MigrateSchemaFieldDocIds( + @Nonnull OperationContext opContext, + BaseElasticSearchComponentsFactory.BaseElasticSearchComponents elasticSearchComponents, + EntityService entityService, + boolean enabled, + Integer batchSize, + Integer batchDelayMs, + Integer limit) { + if (enabled) { + _steps = + ImmutableList.of( + new MigrateSchemaFieldDocIdsStep( + opContext, + elasticSearchComponents, + entityService, + batchSize, + batchDelayMs, + limit)); + } else { + _steps = ImmutableList.of(); + } + } + + @Override + public String id() { + return this.getClass().getName(); + } + + @Override + public List steps() { + return _steps; + } +} diff --git a/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/MigrateSchemaFieldDocIdsStep.java b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/MigrateSchemaFieldDocIdsStep.java new file mode 100644 index 00000000000000..ab35b42bcc8481 --- /dev/null +++ b/datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/schemafield/MigrateSchemaFieldDocIdsStep.java @@ -0,0 +1,291 @@ +package com.linkedin.datahub.upgrade.system.schemafield; + +import static com.linkedin.metadata.Constants.SCHEMA_FIELD_ENTITY_NAME; +import static com.linkedin.metadata.utils.GenericRecordUtils.entityResponseToSystemAspectMap; + +import com.linkedin.common.urn.Urn; +import com.linkedin.common.urn.UrnUtils; +import com.linkedin.datahub.upgrade.UpgradeContext; +import com.linkedin.datahub.upgrade.UpgradeStep; +import com.linkedin.datahub.upgrade.UpgradeStepResult; +import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult; +import com.linkedin.events.metadata.ChangeType; +import com.linkedin.gms.factory.search.BaseElasticSearchComponentsFactory; +import com.linkedin.metadata.aspect.SystemAspect; +import com.linkedin.metadata.boot.BootstrapStep; +import com.linkedin.metadata.entity.EntityService; +import com.linkedin.metadata.models.registry.EntityRegistry; +import com.linkedin.metadata.utils.AuditStampUtils; +import com.linkedin.upgrade.DataHubUpgradeResult; +import com.linkedin.upgrade.DataHubUpgradeState; +import io.datahubproject.metadata.context.OperationContext; +import java.io.IOException; +import java.net.URISyntaxException; +import java.util.Arrays; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.function.Function; +import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import org.opensearch.action.bulk.BulkProcessor; +import org.opensearch.action.bulk.BulkRequest; +import org.opensearch.action.bulk.BulkResponse; +import org.opensearch.action.delete.DeleteRequest; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.action.search.SearchScrollRequest; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.RestHighLevelClient; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.script.Script; +import org.opensearch.search.Scroll; +import org.opensearch.search.SearchHit; +import org.opensearch.search.builder.SearchSourceBuilder; +import org.opensearch.search.sort.SortOrder; + +/** + * Performs a migration from one document id convention to another. + * + *

This step identifies documents using the old convention, if any, and generates MCLs for + * aspects for updating the data in the new document. + * + *

Finally, a DELETE is executed on the legacy document id. + */ +@Slf4j +public class MigrateSchemaFieldDocIdsStep implements UpgradeStep { + + private final OperationContext opContext; + private final EntityRegistry entityRegistry; + private final RestHighLevelClient elasticsearchClient; + private final BulkProcessor bulkProcessor; + private final String indexName; + private final EntityService entityService; + private final Scroll scroll = new Scroll(TimeValue.timeValueMinutes(5L)); + private final int batchSize; + private final int batchDelayMs; + private final int limit; + + public MigrateSchemaFieldDocIdsStep( + OperationContext opContext, + BaseElasticSearchComponentsFactory.BaseElasticSearchComponents elasticSearchComponents, + EntityService entityService, + int batchSize, + int batchDelayMs, + int limit) { + this.opContext = opContext; + this.entityRegistry = opContext.getEntityRegistry(); + this.elasticsearchClient = elasticSearchComponents.getSearchClient(); + this.entityService = entityService; + this.batchSize = batchSize; + this.batchDelayMs = batchDelayMs; + this.limit = limit; + this.indexName = + elasticSearchComponents.getIndexConvention().getEntityIndexName(SCHEMA_FIELD_ENTITY_NAME); + this.bulkProcessor = buildBuildProcessor(); + log.info("MigrateSchemaFieldDocIdsStep initialized"); + } + + @Override + public String id() { + return "schema-field-doc-id-v1"; + } + + /** + * Returns whether the upgrade should be skipped. Uses previous run history or the environment + * variable SKIP_MIGRATE_SCHEMA_FIELDS_DOC_ID to determine whether to skip. + */ + public boolean skip(UpgradeContext context) { + if (Boolean.parseBoolean(System.getenv("SKIP_MIGRATE_SCHEMA_FIELDS_DOC_ID"))) { + log.info("Environment variable SKIP_MIGRATE_SCHEMA_FIELDS_DOC_ID is set to true. Skipping."); + return true; + } + + Optional prevResult = + context.upgrade().getUpgradeResult(opContext, getUpgradeIdUrn(), entityService); + + return prevResult + .filter( + result -> + DataHubUpgradeState.SUCCEEDED.equals(result.getState()) + || DataHubUpgradeState.ABORTED.equals(result.getState())) + .isPresent(); + } + + protected Urn getUpgradeIdUrn() { + return BootstrapStep.getUpgradeUrn(id()); + } + + @Override + public Function executable() { + return (context) -> { + final SearchRequest searchRequest = buildSearchRequest(); + String scrollId = null; + int migratedCount = 0; + + try { + do { + log.info( + "Upgrading batch of schemaFields {}-{}", migratedCount, migratedCount + batchSize); + scrollId = updateDocId(searchRequest, scrollId); + migratedCount += batchSize; + + if (limit > 0 && migratedCount >= limit) { + log.info("Exiting early due to limit."); + break; + } + + if (batchDelayMs > 0) { + log.info("Sleeping for {} ms", batchDelayMs); + try { + Thread.sleep(batchDelayMs); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + } while (scrollId != null); + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + bulkProcessor.flush(); + } + + BootstrapStep.setUpgradeResult(context.opContext(), getUpgradeIdUrn(), entityService); + + return new DefaultUpgradeStepResult(id(), DataHubUpgradeState.SUCCEEDED); + }; + } + + private BulkProcessor buildBuildProcessor() { + return BulkProcessor.builder( + (request, bulkListener) -> + elasticsearchClient.bulkAsync(request, RequestOptions.DEFAULT, bulkListener), + new BulkProcessor.Listener() { + @Override + public void beforeBulk(long executionId, BulkRequest request) { + log.debug("Deleting {} legacy schemaField documents", request.numberOfActions()); + } + + @Override + public void afterBulk(long executionId, BulkRequest request, BulkResponse response) { + log.debug( + "Delete executed {} failures", response.hasFailures() ? "with" : "without"); + } + + @Override + public void afterBulk(long executionId, BulkRequest request, Throwable failure) { + log.warn("Error while executing legacy schemaField documents", failure); + } + }) + .setBulkActions(batchSize) + .build(); + } + + private SearchRequest buildSearchRequest() { + Script oldDocumentIdQuery = + new Script( + Script.DEFAULT_SCRIPT_TYPE, + "painless", + "doc['_id'][0].indexOf('urn%3Ali%3AschemaField%3A%28urn%3Ali%3Adataset%3A') > -1", + Map.of()); + QueryBuilder queryBuilder = QueryBuilders.scriptQuery(oldDocumentIdQuery); + + SearchRequest searchRequest = new SearchRequest(indexName); + searchRequest.scroll(scroll); + SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); + searchSourceBuilder.query(queryBuilder); + searchSourceBuilder.size(batchSize); + searchSourceBuilder.sort("urn", SortOrder.ASC); + searchRequest.source(searchSourceBuilder); + + return searchRequest; + } + + private String updateDocId(final SearchRequest searchRequest, final String scrollId) + throws IOException, URISyntaxException { + final SearchResponse searchResponse; + + if (scrollId == null) { + searchResponse = elasticsearchClient.search(searchRequest, RequestOptions.DEFAULT); + } else { + SearchScrollRequest scrollRequest = new SearchScrollRequest(scrollId); + scrollRequest.scroll(scroll); + searchResponse = elasticsearchClient.scroll(scrollRequest, RequestOptions.DEFAULT); + } + + final SearchHit[] searchHits = searchResponse.getHits().getHits(); + final String nextScrollId = searchResponse.getScrollId(); + + if (searchHits.length > 0) { + Set documentIds = + Arrays.stream(searchHits).map(SearchHit::getId).collect(Collectors.toSet()); + Set batchUrns = + Arrays.stream(searchHits) + .map(hit -> hit.getSourceAsMap().get("urn").toString()) + .map(UrnUtils::getUrn) + .collect(Collectors.toSet()); + + log.info("Sending MCLs for {} entities", batchUrns.size()); + emitMCLs(batchUrns); + log.info("Removing old document ids for {} documents", documentIds.size()); + deleteDocumentIds(documentIds); + + return nextScrollId; + } + + return null; + } + + private void emitMCLs(Set batchUrns) throws URISyntaxException { + Set batchAspects = + entityResponseToSystemAspectMap( + entityService.getEntitiesV2( + opContext, + SCHEMA_FIELD_ENTITY_NAME, + batchUrns, + opContext.getEntityAspectNames(SCHEMA_FIELD_ENTITY_NAME), + false), + entityRegistry) + .values() + .stream() + .flatMap(m -> m.values().stream()) + .collect(Collectors.toSet()); + + Set> futures = + batchAspects.stream() + .map( + systemAspect -> + entityService + .alwaysProduceMCLAsync( + opContext, + systemAspect.getUrn(), + systemAspect.getUrn().getEntityType(), + systemAspect.getAspectName(), + systemAspect.getAspectSpec(), + null, + systemAspect.getRecordTemplate(), + null, + systemAspect.getSystemMetadata(), + AuditStampUtils.createDefaultAuditStamp(), + ChangeType.UPSERT) + .getFirst()) + .collect(Collectors.toSet()); + + futures.forEach( + f -> { + try { + f.get(); + } catch (InterruptedException | ExecutionException e) { + throw new RuntimeException(e); + } + }); + } + + private void deleteDocumentIds(Set documentIds) { + documentIds.forEach(docId -> bulkProcessor.add(new DeleteRequest(indexName, docId))); + } +} diff --git a/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNoSchemaRegistryTest.java b/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNoSchemaRegistryTest.java index 8c9b72b0d88e5e..68dfd71ac10044 100644 --- a/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNoSchemaRegistryTest.java +++ b/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNoSchemaRegistryTest.java @@ -7,12 +7,13 @@ import static org.testng.Assert.assertNotNull; import com.linkedin.datahub.upgrade.system.SystemUpdate; -import com.linkedin.gms.factory.kafka.schemaregistry.SchemaRegistryConfig; import com.linkedin.metadata.boot.kafka.MockSystemUpdateDeserializer; import com.linkedin.metadata.boot.kafka.MockSystemUpdateSerializer; +import com.linkedin.metadata.config.kafka.KafkaConfiguration; import com.linkedin.metadata.dao.producer.KafkaEventProducer; import com.linkedin.metadata.entity.EntityServiceImpl; import com.linkedin.mxe.Topics; +import com.linkedin.upgrade.DataHubUpgradeState; import io.confluent.kafka.schemaregistry.client.SchemaRegistryClient; import io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException; import io.datahubproject.metadata.context.OperationContext; @@ -54,7 +55,7 @@ public class DatahubUpgradeNoSchemaRegistryTest extends AbstractTestNGSpringCont @Autowired @Named("schemaRegistryConfig") - private SchemaRegistryConfig schemaRegistryConfig; + private KafkaConfiguration.SerDeKeyValueConfig schemaRegistryConfig; @Test public void testSystemUpdateInit() { @@ -63,13 +64,17 @@ public void testSystemUpdateInit() { @Test public void testSystemUpdateKafkaProducerOverride() throws RestClientException, IOException { - assertEquals(schemaRegistryConfig.getDeserializer(), MockSystemUpdateDeserializer.class); - assertEquals(schemaRegistryConfig.getSerializer(), MockSystemUpdateSerializer.class); + assertEquals( + schemaRegistryConfig.getValue().getDeserializer(), + MockSystemUpdateDeserializer.class.getName()); + assertEquals( + schemaRegistryConfig.getValue().getSerializer(), + MockSystemUpdateSerializer.class.getName()); assertEquals(kafkaEventProducer, duheKafkaEventProducer); assertEquals(entityService.getProducer(), duheKafkaEventProducer); MockSystemUpdateSerializer serializer = new MockSystemUpdateSerializer(); - serializer.configure(schemaRegistryConfig.getProperties(), false); + serializer.configure(schemaRegistryConfig.getProperties(null), false); SchemaRegistryClient registry = serializer.getSchemaRegistryClient(); assertEquals( registry.getId( @@ -79,7 +84,7 @@ public void testSystemUpdateKafkaProducerOverride() throws RestClientException, @Test public void testSystemUpdateSend() { - UpgradeStepResult.Result result = + DataHubUpgradeState result = systemUpdate.steps().stream() .filter(s -> s.id().equals("DataHubStartupStep")) .findFirst() diff --git a/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNonBlockingTest.java b/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNonBlockingTest.java index 154b1de71f46cd..55a52f072a0caf 100644 --- a/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNonBlockingTest.java +++ b/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/DatahubUpgradeNonBlockingTest.java @@ -10,9 +10,9 @@ import com.linkedin.datahub.upgrade.impl.DefaultUpgradeManager; import com.linkedin.datahub.upgrade.system.SystemUpdateNonBlocking; import com.linkedin.datahub.upgrade.system.vianodes.ReindexDataJobViaNodesCLL; -import com.linkedin.gms.factory.kafka.schemaregistry.SchemaRegistryConfig; import com.linkedin.metadata.boot.kafka.MockSystemUpdateDeserializer; import com.linkedin.metadata.boot.kafka.MockSystemUpdateSerializer; +import com.linkedin.metadata.config.kafka.KafkaConfiguration; import com.linkedin.metadata.dao.producer.KafkaEventProducer; import com.linkedin.metadata.entity.AspectDao; import com.linkedin.metadata.entity.EntityService; @@ -47,7 +47,7 @@ public class DatahubUpgradeNonBlockingTest extends AbstractTestNGSpringContextTe @Autowired @Named("schemaRegistryConfig") - private SchemaRegistryConfig schemaRegistryConfig; + private KafkaConfiguration.SerDeKeyValueConfig schemaRegistryConfig; @Autowired @Named("duheKafkaEventProducer") @@ -66,8 +66,12 @@ public void testSystemUpdateNonBlockingInit() { assertNotNull(systemUpdateNonBlocking); // Expected system update configuration and producer - assertEquals(schemaRegistryConfig.getDeserializer(), MockSystemUpdateDeserializer.class); - assertEquals(schemaRegistryConfig.getSerializer(), MockSystemUpdateSerializer.class); + assertEquals( + schemaRegistryConfig.getValue().getDeserializer(), + MockSystemUpdateDeserializer.class.getName()); + assertEquals( + schemaRegistryConfig.getValue().getSerializer(), + MockSystemUpdateSerializer.class.getName()); assertEquals(duheKafkaEventProducer, kafkaEventProducer); assertEquals(entityService.getProducer(), duheKafkaEventProducer); } diff --git a/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/schemafield/GenerateSchemaFieldsFromSchemaMetadataStepTest.java b/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/schemafield/GenerateSchemaFieldsFromSchemaMetadataStepTest.java new file mode 100644 index 00000000000000..3a2728b4e1d3d6 --- /dev/null +++ b/datahub-upgrade/src/test/java/com/linkedin/datahub/upgrade/schemafield/GenerateSchemaFieldsFromSchemaMetadataStepTest.java @@ -0,0 +1,110 @@ +package com.linkedin.datahub.upgrade.schemafield; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.anyInt; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import com.linkedin.datahub.upgrade.UpgradeContext; +import com.linkedin.datahub.upgrade.UpgradeStepResult; +import com.linkedin.datahub.upgrade.system.schemafield.GenerateSchemaFieldsFromSchemaMetadataStep; +import com.linkedin.metadata.aspect.SystemAspect; +import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.EntityService; +import com.linkedin.metadata.entity.ebean.EbeanAspectV2; +import com.linkedin.metadata.entity.ebean.PartitionedStream; +import com.linkedin.metadata.entity.restoreindices.RestoreIndicesArgs; +import com.linkedin.schema.SchemaMetadata; +import com.linkedin.upgrade.DataHubUpgradeState; +import io.datahubproject.metadata.context.OperationContext; +import io.datahubproject.metadata.context.RetrieverContext; +import java.util.Optional; +import java.util.stream.Stream; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +public class GenerateSchemaFieldsFromSchemaMetadataStepTest { + + @Mock private OperationContext mockOpContext; + + @Mock private EntityService mockEntityService; + + @Mock private AspectDao mockAspectDao; + + @Mock private RetrieverContext mockRetrieverContext; + + private GenerateSchemaFieldsFromSchemaMetadataStep step; + + @BeforeEach + public void setup() { + MockitoAnnotations.openMocks(this); + step = + new GenerateSchemaFieldsFromSchemaMetadataStep( + mockOpContext, mockEntityService, mockAspectDao, 10, 100, 1000); + when(mockOpContext.getRetrieverContext()).thenReturn(Optional.of(mockRetrieverContext)); + } + + /** Test to verify the correct step ID is returned. */ + @Test + public void testId() { + assertEquals("schema-field-from-schema-metadata-v1", step.id()); + } + + /** Test to verify the skip logic based on the environment variable. */ + @Test + public void testSkip() { + UpgradeContext mockContext = mock(UpgradeContext.class); + System.setProperty("SKIP_GENERATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA", "true"); + assertTrue(step.skip(mockContext)); + + System.setProperty("SKIP_GENERATE_SCHEMA_FIELDS_FROM_SCHEMA_METADATA", "false"); + assertFalse(step.skip(mockContext)); + } + + /** Test to verify the correct URN pattern is returned. */ + @Test + public void testGetUrnLike() { + assertEquals("urn:li:dataset:%", step.getUrnLike()); + } + + /** + * Test to verify the executable function processes batches correctly and returns a success + * result. + */ + @Test + public void testExecutable() { + UpgradeContext mockContext = mock(UpgradeContext.class); + + EbeanAspectV2 mockAspect = mock(EbeanAspectV2.class); + PartitionedStream mockStream = mock(PartitionedStream.class); + when(mockAspectDao.streamAspectBatches(any(RestoreIndicesArgs.class))).thenReturn(mockStream); + + when(mockStream.partition(anyInt())).thenReturn(Stream.of(Stream.of(mockAspect))); + + SystemAspect mockSystemAspect = mock(SystemAspect.class); + when(mockSystemAspect.getAspectName()).thenReturn("schemaMetadata"); + when(mockSystemAspect.getAspect(SchemaMetadata.class)).thenReturn(new SchemaMetadata()); + + // when(mockRetrieverContext.getAspectRetriever()).thenReturn(mockSystemAspect); + + ArgumentCaptor argsCaptor = + ArgumentCaptor.forClass(RestoreIndicesArgs.class); + + UpgradeStepResult result = step.executable().apply(mockContext); + assertEquals(DataHubUpgradeState.SUCCEEDED, result.result()); + + verify(mockAspectDao).streamAspectBatches(argsCaptor.capture()); + assertEquals("schemaMetadata", argsCaptor.getValue().aspectName()); + assertEquals(10, argsCaptor.getValue().batchSize()); + assertEquals(1000, argsCaptor.getValue().limit()); + } + + // Additional tests can be added to cover more scenarios and edge cases +} diff --git a/datahub-web-react/.eslintrc.js b/datahub-web-react/.eslintrc.js index 5627283af1af1c..3fdf7b6a3042ca 100644 --- a/datahub-web-react/.eslintrc.js +++ b/datahub-web-react/.eslintrc.js @@ -48,7 +48,7 @@ module.exports = { ], 'vitest/prefer-to-be': 'off', '@typescript-eslint/no-use-before-define': ['error', { functions: false, classes: false }], - 'react-refresh/only-export-components': ['warn', { 'allowConstantExport': true }], + 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }], }, settings: { react: { diff --git a/datahub-web-react/README.md b/datahub-web-react/README.md index 560f5315b2c71f..86bbb349b027c4 100644 --- a/datahub-web-react/README.md +++ b/datahub-web-react/README.md @@ -1,44 +1,47 @@ --- -title: "datahub-web-react" +title: 'datahub-web-react' --- # DataHub React App ## About -This module contains a React application that serves as the DataHub UI. -Feel free to take a look around, deploy, and contribute. +This module contains a React application that serves as the DataHub UI. +Feel free to take a look around, deploy, and contribute. ## Functional Goals + The initial milestone for the app was to achieve functional parity with the previous Ember app. This meant supporting -- Dataset Profiles, Search, Browse Experience -- User Profiles, Search -- LDAP Authentication Flow +- Dataset Profiles, Search, Browse Experience +- User Profiles, Search +- LDAP Authentication Flow -This has since been achieved. The new set of functional goals are reflected in the latest version of the [DataHub Roadmap](../docs/roadmap.md). +This has since been achieved. The new set of functional goals are reflected in the latest version of the [DataHub Roadmap](../docs/roadmap.md). ## Design Goals + In building out the client experience, we intend to leverage learnings from the previous Ember-based app and incorporate feedback gathered from organizations operating DataHub. Two themes have emerged to serve as guideposts: -1. **Configurability**: The client experience should be configurable, such that deploying organizations can tailor certain - aspects to their needs. This includes theme / styling configurability, showing and hiding specific functionality, - customizing copy & logos, etc. - -2. **Extensibility**: Extending the *functionality* of DataHub should be as simple as possible. Making changes like - extending an existing entity & adding a new entity should require minimal effort and should be well covered in detailed - documentation. +1. **Configurability**: The client experience should be configurable, such that deploying organizations can tailor certain + aspects to their needs. This includes theme / styling configurability, showing and hiding specific functionality, + customizing copy & logos, etc. +2. **Extensibility**: Extending the _functionality_ of DataHub should be as simple as possible. Making changes like + extending an existing entity & adding a new entity should require minimal effort and should be well covered in detailed + documentation. ## Starting the Application ### Quick Start Navigate to the `docker` directory and run the following to spin up the react app: + ``` ./quickstart.sh ``` + at `http://localhost:9002`. If you want to make changes to the UI see them live without having to rebuild the `datahub-frontend-react` docker image, you @@ -54,8 +57,9 @@ Optionally you could also start the app with the mock server without running the ### Testing your customizations There is two options to test your customizations: -* **Option 1**: Initialize the docker containers with the `quickstart.sh` script (or if any custom docker-compose file) and then run `yarn start` in this directory. This will start a forwarding server at `localhost:3000` that will use the `datahub-frontend` server at `http://localhost:9002` to fetch real data. -* **Option 2**: Change the environment variable `REACT_APP_PROXY_TARGET` in the `.env` file to point to your `datahub-frontend` server (ex: https://my_datahub_host.com) and then run `yarn start` in this directory. This will start a forwarding server at `localhost:3000` that will use the `datahub-frontend` server at some domain to fetch real data. + +- **Option 1**: Initialize the docker containers with the `quickstart.sh` script (or if any custom docker-compose file) and then run `yarn start` in this directory. This will start a forwarding server at `localhost:3000` that will use the `datahub-frontend` server at `http://localhost:9002` to fetch real data. +- **Option 2**: Change the environment variable `REACT_APP_PROXY_TARGET` in the `.env` file to point to your `datahub-frontend` server (ex: https://my_datahub_host.com) and then run `yarn start` in this directory. This will start a forwarding server at `localhost:3000` that will use the `datahub-frontend` server at some domain to fetch real data. The option 2 is useful if you want to test your React customizations without having to run the hole DataHub stack locally. However, if you changed other components of the DataHub stack, you will need to run the hole stack locally (building the docker images) and use the option 1. @@ -68,10 +72,10 @@ In order to start a server and run frontend unit tests using react-testing-frame There are also more automated tests using Cypress in the `smoke-test` folder of the repository root. #### Troubleshooting + `Error: error:0308010C:digital envelope routines::unsupported`: This error message shows up when using Node 17, due to an OpenSSL update related to md5. The best workaround is to revert to the Active LTS version of Node, 16.13.0 with the command `nvm install 16.13.0` and if necessary reinstall yarn `npm install --global yarn`. - ### Theming #### Customizing your App without rebuilding assets @@ -108,74 +112,74 @@ you to terminate and re-run `yarn start` to see updated styles. The `src` dir of the app is broken down into the following modules -**conf** - Stores global configuration flags that can be referenced across the app. For example, the number of +**conf** - Stores global configuration flags that can be referenced across the app. For example, the number of search results shown per page, or the placeholder text in the search bar box. It serves as a location where levels -for functional configurability should reside. +for functional configurability should reside. **app** - Contains all important components of the app. It has a few sub-modules: -- `auth`: Components used to render the user authentication experience. -- `browse`: Shared components used to render the 'browse-by-path' experience. The experience is akin to navigating a filesystem hierarchy. -- `preview`: Shared components used to render Entity 'preview' views. These can appear in search results, browse results, - and within entity profile pages. -- `search`: Shared components used to render the full-text search experience. -- `shared`: Misc. shared components -- `entity`: Contains Entity definitions, where entity-specific functionality resides. - Configuration is provided by implementing the 'Entity' interface. (See DatasetEntity.tsx for example) - There are 2 visual components each entity should supply: - - `profiles`: display relevant details about an individual entity. This serves as the entity's 'profile'. - - `previews`: provide a 'preview', or a smaller details card, containing the most important information about an entity instance. - - When rendering a preview, the entity's data and the type of preview (SEARCH, BROWSE, PREVIEW) are provided. This +- `auth`: Components used to render the user authentication experience. +- `browse`: Shared components used to render the 'browse-by-path' experience. The experience is akin to navigating a filesystem hierarchy. +- `preview`: Shared components used to render Entity 'preview' views. These can appear in search results, browse results, + and within entity profile pages. +- `search`: Shared components used to render the full-text search experience. +- `shared`: Misc. shared components +- `entity`: Contains Entity definitions, where entity-specific functionality resides. + Configuration is provided by implementing the 'Entity' interface. (See DatasetEntity.tsx for example) + There are 2 visual components each entity should supply: + + - `profiles`: display relevant details about an individual entity. This serves as the entity's 'profile'. + - `previews`: provide a 'preview', or a smaller details card, containing the most important information about an entity instance. + + When rendering a preview, the entity's data and the type of preview (SEARCH, BROWSE, PREVIEW) are provided. This allows you to optionally customize the way an entities preview is rendered in different views. - - - `entity registry`: There's another very important piece of code living within this module: the **EntityRegistry**. This is a layer + + - `entity registry`: There's another very important piece of code living within this module: the **EntityRegistry**. This is a layer of abstraction over the intimate details of rendering a particular entity. It is used to render a view associated with a particular entity type (user, dataset, etc.). - - +

-**graphql** - The React App talks to the `dathub-frontend` server using GraphQL. This module is where the *queries* issued -against the server are defined. Once defined, running `yarn run generate` will code-gen TypeScript objects to make invoking +**graphql** - The React App talks to the `dathub-frontend` server using GraphQL. This module is where the _queries_ issued +against the server are defined. Once defined, running `yarn run generate` will code-gen TypeScript objects to make invoking these queries extremely easy. An example can be found at the top of `SearchPage.tsx.` -**images** - Images to be displayed within the app. This is where one would place a custom logo image. +**images** - Images to be displayed within the app. This is where one would place a custom logo image. ## Adding an Entity The following outlines a series of steps required to introduce a new entity into the React app: -1. Declare the GraphQL Queries required to display the new entity - - If search functionality should be supported, extend the "search" query within `search.graphql` to fetch the new +1. Declare the GraphQL Queries required to display the new entity + + - If search functionality should be supported, extend the "search" query within `search.graphql` to fetch the new + entity data. + - If browse functionality should be supported, extend the "browse" query within `browse.graphql` to fetch the new entity data. - - If browse functionality should be supported, extend the "browse" query within `browse.graphql` to fetch the new - entity data. - - If display a 'profile' should be supported (most often), introduce a new `.graphql` file that contains a - `get` query to fetch the entity by primary key (urn). - - Note that your new entity *must* implement the `Entity` GraphQL type interface, and thus must have a corresponding - `EntityType`. - - -2. Implement the `Entity` interface + - If display a 'profile' should be supported (most often), introduce a new `.graphql` file that contains a + `get` query to fetch the entity by primary key (urn). + + Note that your new entity _must_ implement the `Entity` GraphQL type interface, and thus must have a corresponding + `EntityType`. + +2. Implement the `Entity` interface + - Create a new folder under `src/components/entity` corresponding to your entity - Create a class that implements the `Entity` interface (example: `DatasetEntity.tsx`) - - Provide an implementation each method defined on the interface. - - This class specifies whether your new entity should be searchable & browsable, defines the names used to - identify your entity when instances are rendered in collection / when entity appears - in the URL path, and provides the ability to render your entity given data returned by the GQL API. - + - Provide an implementation each method defined on the interface. + - This class specifies whether your new entity should be searchable & browsable, defines the names used to + identify your entity when instances are rendered in collection / when entity appears + in the URL path, and provides the ability to render your entity given data returned by the GQL API. 3. Register the new entity in the `EntityRegistry` - - Update `App.tsx` to register an instance of your new entity. Now your entity will be accessible via the registry + - Update `App.tsx` to register an instance of your new entity. Now your entity will be accessible via the registry and appear in the UI. To manually retrieve the info about your entity or others, simply use an instance - of the `EntityRegistry`, which is provided via `ReactContext` to *all* components in the hierarchy. + of the `EntityRegistry`, which is provided via `ReactContext` to _all_ components in the hierarchy. For example - ``` - entityRegistry.getCollectionName(EntityType.YOUR_NEW_ENTITY) - ``` - -That's it! For any questions, do not hesitate to reach out on the DataHub Slack community in #datahub-react. + ``` + entityRegistry.getCollectionName(EntityType.YOUR_NEW_ENTITY) + ``` + +That's it! For any questions, do not hesitate to reach out on the DataHub Slack community in #datahub-react. diff --git a/datahub-web-react/src/App.tsx b/datahub-web-react/src/App.tsx index 5be31528fe780f..2fdd7c8ed68004 100644 --- a/datahub-web-react/src/App.tsx +++ b/datahub-web-react/src/App.tsx @@ -1,6 +1,5 @@ import React from 'react'; import Cookies from 'js-cookie'; -import { message } from 'antd'; import { BrowserRouter as Router } from 'react-router-dom'; import { ApolloClient, ApolloProvider, createHttpLink, InMemoryCache, ServerError } from '@apollo/client'; import { onError } from '@apollo/client/link/error'; @@ -21,7 +20,7 @@ import { useCustomTheme } from './customThemeContext'; const httpLink = createHttpLink({ uri: '/api/v2/graphql' }); const errorLink = onError((error) => { - const { networkError, graphQLErrors } = error; + const { networkError } = error; if (networkError) { const serverError = networkError as ServerError; if (serverError.statusCode === ErrorCodes.Unauthorized) { @@ -31,13 +30,14 @@ const errorLink = onError((error) => { window.location.replace(`${PageRoutes.AUTHENTICATE}?redirect_uri=${encodeURIComponent(currentPath)}`); } } - if (graphQLErrors && graphQLErrors.length) { - const firstError = graphQLErrors[0]; - const { extensions } = firstError; - const errorCode = extensions && (extensions.code as number); - // Fallback in case the calling component does not handle. - message.error(`${firstError.message} (code ${errorCode})`, 3); - } + // Disabled behavior for now -> Components are expected to handle their errors. + // if (graphQLErrors && graphQLErrors.length) { + // const firstError = graphQLErrors[0]; + // const { extensions } = firstError; + // const errorCode = extensions && (extensions.code as number); + // // Fallback in case the calling component does not handle. + // message.error(`${firstError.message} (code ${errorCode})`, 3); // TODO: Decide if we want this back. + // } }); const client = new ApolloClient({ diff --git a/datahub-web-react/src/app/ProtectedRoutes.tsx b/datahub-web-react/src/app/ProtectedRoutes.tsx index 0e4a1a260f5532..d975e6d4d99c2d 100644 --- a/datahub-web-react/src/app/ProtectedRoutes.tsx +++ b/datahub-web-react/src/app/ProtectedRoutes.tsx @@ -1,15 +1,26 @@ -import React from 'react'; -import { Switch, Route } from 'react-router-dom'; +import React, { useEffect } from 'react'; +import { Switch, Route, useLocation, useHistory } from 'react-router-dom'; import { Layout } from 'antd'; import { HomePage } from './home/HomePage'; import { SearchRoutes } from './SearchRoutes'; import EmbedRoutes from './EmbedRoutes'; -import { PageRoutes } from '../conf/Global'; +import { NEW_ROUTE_MAP, PageRoutes } from '../conf/Global'; +import { getRedirectUrl } from '../conf/utils'; /** * Container for all views behind an authentication wall. */ export const ProtectedRoutes = (): JSX.Element => { + const location = useLocation(); + const history = useHistory(); + + useEffect(() => { + if (location.pathname.indexOf('/Validation') !== -1) { + history.replace(getRedirectUrl(NEW_ROUTE_MAP)); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [location]); + return ( diff --git a/datahub-web-react/src/app/analytics/event.ts b/datahub-web-react/src/app/analytics/event.ts index d63b731c720426..c3a57830b8c504 100644 --- a/datahub-web-react/src/app/analytics/event.ts +++ b/datahub-web-react/src/app/analytics/event.ts @@ -191,6 +191,7 @@ export interface SearchResultClickEvent extends BaseEvent { entityTypeFilter?: EntityType; index: number; total: number; + pageNumber: number; } export interface SearchFiltersClearAllEvent extends BaseEvent { diff --git a/datahub-web-react/src/app/businessAttribute/BusinessAttributeItemMenu.tsx b/datahub-web-react/src/app/businessAttribute/BusinessAttributeItemMenu.tsx index 4e56d81203b6f5..422de728f70907 100644 --- a/datahub-web-react/src/app/businessAttribute/BusinessAttributeItemMenu.tsx +++ b/datahub-web-react/src/app/businessAttribute/BusinessAttributeItemMenu.tsx @@ -1,8 +1,9 @@ import React from 'react'; import { DeleteOutlined } from '@ant-design/icons'; -import { Dropdown, Menu, message, Modal } from 'antd'; +import { Dropdown, message, Modal } from 'antd'; import { MenuIcon } from '../entity/shared/EntityDropdown/EntityDropdown'; import { useDeleteBusinessAttributeMutation } from '../../graphql/businessAttribute.generated'; +import { MenuItemStyle } from '../entity/view/menu/item/styledComponent'; type Props = { urn: string; @@ -48,17 +49,19 @@ export default function BusinessAttributeItemMenu({ title, urn, onDelete }: Prop }); }; + const items = [ + { + key: 'delete', + label: ( + +  Delete + + ), + }, + ]; + return ( - - -  Delete - - - } - > + ); diff --git a/datahub-web-react/src/app/businessAttribute/BusinessAttributes.tsx b/datahub-web-react/src/app/businessAttribute/BusinessAttributes.tsx index b16593f5497f6e..e2794de5e56911 100644 --- a/datahub-web-react/src/app/businessAttribute/BusinessAttributes.tsx +++ b/datahub-web-react/src/app/businessAttribute/BusinessAttributes.tsx @@ -246,7 +246,7 @@ export const BusinessAttributes = () => { /> setIsCreatingBusinessAttribute(false)} onCreateBusinessAttribute={() => { businessAttributeRefetch?.(); diff --git a/datahub-web-react/src/app/businessAttribute/CreateBusinessAttributeModal.tsx b/datahub-web-react/src/app/businessAttribute/CreateBusinessAttributeModal.tsx index 1ee0ca030748ef..979f8377c7fdd6 100644 --- a/datahub-web-react/src/app/businessAttribute/CreateBusinessAttributeModal.tsx +++ b/datahub-web-react/src/app/businessAttribute/CreateBusinessAttributeModal.tsx @@ -13,7 +13,7 @@ import { SchemaFieldDataType } from './businessAttributeUtils'; import { validateCustomUrnId } from '../shared/textUtil'; type Props = { - visible: boolean; + open: boolean; onClose: () => void; onCreateBusinessAttribute: () => void; }; @@ -51,7 +51,7 @@ const StyledButton = styled(Button)` // Ensures that any newly added datatype is automatically included in the user dropdown. const DATA_TYPES = Object.values(SchemaFieldDataType); -export default function CreateBusinessAttributeModal({ visible, onClose, onCreateBusinessAttribute }: Props) { +export default function CreateBusinessAttributeModal({ open, onClose, onCreateBusinessAttribute }: Props) { const [createButtonEnabled, setCreateButtonEnabled] = useState(true); const [createBusinessAttribute] = useCreateBusinessAttributeMutation(); @@ -120,7 +120,7 @@ export default function CreateBusinessAttributeModal({ visible, onClose, onCreat <> diff --git a/datahub-web-react/src/app/context/UserContextProvider.tsx b/datahub-web-react/src/app/context/UserContextProvider.tsx index 3bcff15cc27485..66593d346f3df4 100644 --- a/datahub-web-react/src/app/context/UserContextProvider.tsx +++ b/datahub-web-react/src/app/context/UserContextProvider.tsx @@ -127,6 +127,7 @@ const UserContextProvider = ({ children }: { children: React.ReactNode }) => { return ( diff --git a/datahub-web-react/src/app/domain/DomainItemMenu.tsx b/datahub-web-react/src/app/domain/DomainItemMenu.tsx index a0007b90435d74..3e04864b379db9 100644 --- a/datahub-web-react/src/app/domain/DomainItemMenu.tsx +++ b/datahub-web-react/src/app/domain/DomainItemMenu.tsx @@ -48,17 +48,19 @@ export default function DomainItemMenu({ name, urn, onDelete }: Props) { }); }; + const items = [ + { + key: 0, + label: ( + +  Delete + + ), + }, + ]; + return ( - - -  Delete - - - } - > + ); diff --git a/datahub-web-react/src/app/entity/dataset/DatasetEntity.tsx b/datahub-web-react/src/app/entity/dataset/DatasetEntity.tsx index 6074bcc2f2f406..21ae085832cb3f 100644 --- a/datahub-web-react/src/app/entity/dataset/DatasetEntity.tsx +++ b/datahub-web-react/src/app/entity/dataset/DatasetEntity.tsx @@ -36,6 +36,7 @@ import AccessManagement from '../shared/tabs/Dataset/AccessManagement/AccessMana import { matchedFieldPathsRenderer } from '../../search/matches/matchedFieldPathsRenderer'; import { getLastUpdatedMs } from './shared/utils'; import { IncidentTab } from '../shared/tabs/Incident/IncidentTab'; +import { GovernanceTab } from '../shared/tabs/Dataset/Governance/GovernanceTab'; const SUBTYPES = { VIEW: 'view', @@ -166,14 +167,22 @@ export class DatasetEntity implements Entity { }, }, { - name: 'Validation', + name: 'Quality', component: ValidationsTab, display: { visible: (_, _1) => true, enabled: (_, dataset: GetDatasetQuery) => { - return ( - (dataset?.dataset?.assertions?.total || 0) > 0 || dataset?.dataset?.testResults !== null - ); + return (dataset?.dataset?.assertions?.total || 0) > 0; + }, + }, + }, + { + name: 'Governance', + component: GovernanceTab, + display: { + visible: (_, _1) => true, + enabled: (_, dataset: GetDatasetQuery) => { + return dataset?.dataset?.testResults !== null; }, }, }, @@ -211,6 +220,7 @@ export class DatasetEntity implements Entity { }, ]} sidebarSections={this.getSidebarSections()} + isNameEditable /> ); @@ -274,7 +284,7 @@ export class DatasetEntity implements Entity { return ( { return ( { }; displayName = (data: Dataset) => { - return data?.properties?.name || data.name || data.urn; + return data?.editableProperties?.name || data?.properties?.name || data.name || data.urn; }; platformLogoUrl = (data: Dataset) => { diff --git a/datahub-web-react/src/app/entity/dataset/profile/schema/components/CustomPagination.tsx b/datahub-web-react/src/app/entity/dataset/profile/schema/components/CustomPagination.tsx index 8d270898a44566..d97582cace7b15 100644 --- a/datahub-web-react/src/app/entity/dataset/profile/schema/components/CustomPagination.tsx +++ b/datahub-web-react/src/app/entity/dataset/profile/schema/components/CustomPagination.tsx @@ -1,7 +1,8 @@ import React, { useState } from 'react'; -import { Button, Menu, Dropdown, Typography } from 'antd'; +import { Button, Dropdown, Typography } from 'antd'; import { LeftOutlined, RightOutlined } from '@ant-design/icons'; import styled from 'styled-components'; +import { MenuItemStyle } from '../../../../view/menu/item/styledComponent'; const CustomPaginationContainer = styled.div` display: flex; @@ -60,27 +61,29 @@ export default function CustomPagination({ onChange, maxVersion }: Props) { onChange(version1, parseInt(key, 10)); }; - const menu1 = ( - - {[...Array(maxVersion)].map((_, i) => ( - // eslint-disable-next-line react/no-array-index-key - + const items1 = [...Array(maxVersion)].map((_, i) => { + // eslint-disable-next-line react/no-array-index-key + return { + key: maxVersion - i, + label: ( + onVersion1Click({ key: maxVersion - i })}> {i === 0 ? 'latest' : `version ${maxVersion + 1 - i}`} - - ))} - - ); + + ), + }; + }); - const menu2 = ( - - {[...Array(version1)].map((_, i) => ( - // eslint-disable-next-line react/no-array-index-key - + const items2 = [...Array(version1)].map((_, i) => { + // eslint-disable-next-line react/no-array-index-key + return { + key: version1 - i - 1, + label: ( + onVersion2Click({ key: version1 - i - 1 })}> {`version ${version1 - i}`} - - ))} - - ); + + ), + }; + }); return ( @@ -92,13 +95,13 @@ export default function CustomPagination({ onChange, maxVersion }: Props) { disabled={version1 >= maxVersion} /> Comparing - + {version1 === maxVersion ? 'latest' : `version ${version1 + 1}`} to - + {`version ${version2 + 1}`} 80; @@ -163,7 +174,7 @@ export default function DescriptionField({ return ( - {expanded || !overLimit ? ( + {expanded ? ( <> {!!description && } {!!description && (EditButton || overLimit) && ( @@ -184,25 +195,29 @@ export default function DescriptionField({ ) : ( <> - - { - e.stopPropagation(); - handleExpanded(true); - }} - > - Read More - - - } - suffix={EditButton} - shouldWrap - > - {description} - + + {isPropagated && } +   + + { + e.stopPropagation(); + handleExpanded(true); + }} + > + Read More + + + } + suffix={EditButton} + shouldWrap + > + {description} + + )} {isEdited && (edited)} diff --git a/datahub-web-react/src/app/entity/dataset/profile/schema/utils/translateFieldPathSegment.tsx b/datahub-web-react/src/app/entity/dataset/profile/schema/utils/translateFieldPathSegment.tsx index 7153a38a32c3b5..734580eb26f5dd 100644 --- a/datahub-web-react/src/app/entity/dataset/profile/schema/utils/translateFieldPathSegment.tsx +++ b/datahub-web-react/src/app/entity/dataset/profile/schema/utils/translateFieldPathSegment.tsx @@ -28,7 +28,7 @@ export default function translateFieldPathSegment(fieldPathSegment, i, fieldPath // structs that qualify a union are represented as [union]union_field.[type=QualifiedStruct].qualified_struct_field // we convert into union_field. (QualifiedStruct) qualified_struct_field if (fieldPathSegment.startsWith('[type=') && fieldPathSegment.endsWith(']')) { - const typeName = fieldPathSegment.replace('[type=', '').replace(']', ''); + const typeName = fieldPathSegment.replace(/\[type=/g, '').replace(/\]/g, ''); // if the qualified struct is the last element, just show the qualified struct if (i === fieldPathParts.length - 1) { return ` ${typeName}`; diff --git a/datahub-web-react/src/app/entity/dataset/profile/stats/historical/charts/ProfilingRunsChart.tsx b/datahub-web-react/src/app/entity/dataset/profile/stats/historical/charts/ProfilingRunsChart.tsx index 36f2b5e37902e2..e14c5ad1f479b3 100644 --- a/datahub-web-react/src/app/entity/dataset/profile/stats/historical/charts/ProfilingRunsChart.tsx +++ b/datahub-web-react/src/app/entity/dataset/profile/stats/historical/charts/ProfilingRunsChart.tsx @@ -71,7 +71,7 @@ export default function ProfilingRunsChart({ profiles }: Props) { return ( <> {selectedProfile && ( - + )} diff --git a/datahub-web-react/src/app/entity/glossaryTerm/profile/AddRelatedTermsModal.tsx b/datahub-web-react/src/app/entity/glossaryTerm/profile/AddRelatedTermsModal.tsx index f97f3c327676b9..a609dc4cca599d 100644 --- a/datahub-web-react/src/app/entity/glossaryTerm/profile/AddRelatedTermsModal.tsx +++ b/datahub-web-react/src/app/entity/glossaryTerm/profile/AddRelatedTermsModal.tsx @@ -167,7 +167,7 @@ function AddRelatedTermsModal(props: Props) { return ( diff --git a/datahub-web-react/src/app/entity/glossaryTerm/profile/RelatedTerm.tsx b/datahub-web-react/src/app/entity/glossaryTerm/profile/RelatedTerm.tsx index bb252c8459e221..4db28768c66a05 100644 --- a/datahub-web-react/src/app/entity/glossaryTerm/profile/RelatedTerm.tsx +++ b/datahub-web-react/src/app/entity/glossaryTerm/profile/RelatedTerm.tsx @@ -1,5 +1,5 @@ import { DeleteOutlined, MoreOutlined } from '@ant-design/icons'; -import { Divider, Dropdown, Menu } from 'antd'; +import { Divider, Dropdown } from 'antd'; import React from 'react'; import styled from 'styled-components/macro'; import { useGetGlossaryTermQuery } from '../../../../graphql/glossaryTerm.generated'; @@ -51,23 +51,23 @@ function RelatedTerm(props: Props) { if (loading) return null; + const items = [ + { + key: '0', + label: ( + +   Remove Term + + ), + }, + ]; + return ( {entityRegistry.renderPreview(EntityType.GlossaryTerm, PreviewType.PREVIEW, data?.glossaryTerm)} {isEditable && ( - - - -   Remove Term - - - - } - trigger={['click']} - > + )} diff --git a/datahub-web-react/src/app/entity/group/AddGroupMembersModal.tsx b/datahub-web-react/src/app/entity/group/AddGroupMembersModal.tsx index 95c288052e978d..2485fb1e48fbed 100644 --- a/datahub-web-react/src/app/entity/group/AddGroupMembersModal.tsx +++ b/datahub-web-react/src/app/entity/group/AddGroupMembersModal.tsx @@ -10,7 +10,7 @@ import { OwnerLabel } from '../../shared/OwnerLabel'; type Props = { urn: string; - visible: boolean; + open: boolean; onCloseModal: () => void; onSubmit: () => void; }; @@ -29,7 +29,7 @@ const StyleTag = styled(Tag)` align-items: center; `; -export const AddGroupMembersModal = ({ urn, visible, onCloseModal, onSubmit }: Props) => { +export const AddGroupMembersModal = ({ urn, open, onCloseModal, onSubmit }: Props) => { const entityRegistry = useEntityRegistry(); const [selectedMembers, setSelectedMembers] = useState([]); const [inputValue, setInputValue] = useState(''); @@ -134,7 +134,7 @@ export const AddGroupMembersModal = ({ urn, visible, onCloseModal, onSubmit }: P return ( diff --git a/datahub-web-react/src/app/entity/group/EditGroupDescriptionModal.tsx b/datahub-web-react/src/app/entity/group/EditGroupDescriptionModal.tsx index 356daf584d9f7e..5c672745053b52 100644 --- a/datahub-web-react/src/app/entity/group/EditGroupDescriptionModal.tsx +++ b/datahub-web-react/src/app/entity/group/EditGroupDescriptionModal.tsx @@ -38,7 +38,7 @@ export default function EditGroupDescriptionModal({ diff --git a/datahub-web-react/src/app/entity/group/GroupEditModal.tsx b/datahub-web-react/src/app/entity/group/GroupEditModal.tsx index be1289ad3202b3..6a3354eb358bb6 100644 --- a/datahub-web-react/src/app/entity/group/GroupEditModal.tsx +++ b/datahub-web-react/src/app/entity/group/GroupEditModal.tsx @@ -11,7 +11,7 @@ type PropsData = { }; type Props = { - visible: boolean; + open: boolean; onClose: () => void; onSave: () => void; editModalData: PropsData; @@ -19,7 +19,7 @@ type Props = { /** Regex Validations */ export const USER_NAME_REGEX = new RegExp('^[a-zA-Z ]*$'); -export default function GroupEditModal({ visible, onClose, onSave, editModalData }: Props) { +export default function GroupEditModal({ open, onClose, onSave, editModalData }: Props) { const [updateCorpGroupPropertiesMutation] = useUpdateCorpGroupPropertiesMutation(); const [form] = Form.useForm(); @@ -76,7 +76,7 @@ export default function GroupEditModal({ visible, onClose, onSave, editModalData return ( diff --git a/datahub-web-react/src/app/entity/group/GroupInfoSideBar.tsx b/datahub-web-react/src/app/entity/group/GroupInfoSideBar.tsx index 4cba8499877f1c..af3f89f7c21bad 100644 --- a/datahub-web-react/src/app/entity/group/GroupInfoSideBar.tsx +++ b/datahub-web-react/src/app/entity/group/GroupInfoSideBar.tsx @@ -368,7 +368,7 @@ export default function GroupInfoSidebar({ sideBarData, refetch }: Props) { {/* Modal */} showEditGroupModal(false)} onSave={() => { refetch(); diff --git a/datahub-web-react/src/app/entity/group/GroupMembers.tsx b/datahub-web-react/src/app/entity/group/GroupMembers.tsx index 45697cb50b309c..147c3f8030d0e0 100644 --- a/datahub-web-react/src/app/entity/group/GroupMembers.tsx +++ b/datahub-web-react/src/app/entity/group/GroupMembers.tsx @@ -232,7 +232,7 @@ export default function GroupMembers({ urn, pageSize, isExternalGroup, onChangeM {isEditingMembers && ( setIsEditingMembers(false)} /> diff --git a/datahub-web-react/src/app/entity/shared/EntityDropdown/CreateGlossaryEntityModal.tsx b/datahub-web-react/src/app/entity/shared/EntityDropdown/CreateGlossaryEntityModal.tsx index d60e86b0af8ca4..c92e6015c6cca0 100644 --- a/datahub-web-react/src/app/entity/shared/EntityDropdown/CreateGlossaryEntityModal.tsx +++ b/datahub-web-react/src/app/entity/shared/EntityDropdown/CreateGlossaryEntityModal.tsx @@ -131,7 +131,7 @@ function CreateGlossaryEntityModal(props: Props) { return ( diff --git a/datahub-web-react/src/app/entity/shared/EntityDropdown/EntityDropdown.tsx b/datahub-web-react/src/app/entity/shared/EntityDropdown/EntityDropdown.tsx index 2856a219c435d6..b7dbd9a43c872f 100644 --- a/datahub-web-react/src/app/entity/shared/EntityDropdown/EntityDropdown.tsx +++ b/datahub-web-react/src/app/entity/shared/EntityDropdown/EntityDropdown.tsx @@ -57,6 +57,9 @@ const MenuItem = styled.div` `; const StyledMenuItem = styled(Menu.Item)<{ disabled: boolean }>` + &&&& { + background-color: transparent; + } ${(props) => props.disabled ? ` @@ -157,114 +160,145 @@ function EntityDropdown(props: Props) { */ const deleteRedirectPath = getEntityProfileDeleteRedirectPath(entityType, entityData); + const items = [ + menuItems.has(EntityMenuItems.COPY_URL) && navigator.clipboard + ? { + key: 0, + label: ( + { + navigator.clipboard.writeText(pageUrl); + message.info('Copied URL!', 1.2); + }} + > +   Copy Url + + ), + } + : null, + menuItems.has(EntityMenuItems.UPDATE_DEPRECATION) + ? { + key: 1, + label: !entityData?.deprecation?.deprecated ? ( + setIsDeprecationModalVisible(true)}> +   Mark as deprecated + + ) : ( + handleUpdateDeprecation(false)}> +   Mark as un-deprecated + + ), + } + : null, + menuItems.has(EntityMenuItems.ADD_TERM) + ? { + key: 2, + label: ( + setIsCreateTermModalVisible(true)} + > + +  Add Term + + + ), + } + : null, + menuItems.has(EntityMenuItems.ADD_TERM_GROUP) + ? { + key: 3, + label: ( + setIsCreateNodeModalVisible(true)} + > + +  Add Term Group + + + ), + } + : null, + !isDomainMoveHidden && menuItems.has(EntityMenuItems.MOVE) + ? { + key: 4, + label: ( + setIsMoveModalVisible(true)} + > + +  Move + + + ), + } + : null, + menuItems.has(EntityMenuItems.DELETE) + ? { + key: 5, + label: ( + + + +  Delete + + + + ), + } + : null, + menuItems.has(EntityMenuItems.CLONE) + ? { + key: 6, + label: ( + setIsCloneEntityModalVisible(true)} + > + +  Clone + + + ), + } + : null, + menuItems.has(EntityMenuItems.RAISE_INCIDENT) + ? { + key: 6, + label: ( + + setIsRaiseIncidentModalVisible(true)}> +  Raise Incident + + + ), + } + : null, + ]; + return ( <> - - {menuItems.has(EntityMenuItems.COPY_URL) && navigator.clipboard && ( - - { - navigator.clipboard.writeText(pageUrl); - message.info('Copied URL!', 1.2); - }} - > -   Copy Url - - - )} - {menuItems.has(EntityMenuItems.UPDATE_DEPRECATION) && ( - - {!entityData?.deprecation?.deprecated ? ( - setIsDeprecationModalVisible(true)}> -   Mark as deprecated - - ) : ( - handleUpdateDeprecation(false)}> -   Mark as un-deprecated - - )} - - )} - {menuItems.has(EntityMenuItems.ADD_TERM) && ( - setIsCreateTermModalVisible(true)} - > - -  Add Term - - - )} - {menuItems.has(EntityMenuItems.ADD_TERM_GROUP) && ( - setIsCreateNodeModalVisible(true)} - > - -  Add Term Group - - - )} - {!isDomainMoveHidden && menuItems.has(EntityMenuItems.MOVE) && ( - setIsMoveModalVisible(true)} - > - -  Move - - - )} - {menuItems.has(EntityMenuItems.DELETE) && ( - - - -  Delete - - - - )} - {menuItems.has(EntityMenuItems.CLONE) && ( - setIsCloneEntityModalVisible(true)} - > - -  Clone - - - )} - {menuItems.has(EntityMenuItems.RAISE_INCIDENT) && ( - - setIsRaiseIncidentModalVisible(true)}> -  Raise Incident - - - )} - - } - trigger={['click']} - > + {isCreateTermModalVisible && ( @@ -303,7 +337,7 @@ function EntityDropdown(props: Props) { {hasBeenDeleted && !onDelete && deleteRedirectPath && } {isRaiseIncidentModalVisible && ( setIsRaiseIncidentModalVisible(false)} refetch={ (() => { diff --git a/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveDomainModal.tsx b/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveDomainModal.tsx index 3826f934c1c25e..dbf14b069f521b 100644 --- a/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveDomainModal.tsx +++ b/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveDomainModal.tsx @@ -68,7 +68,7 @@ function MoveDomainModal(props: Props) { diff --git a/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveGlossaryEntityModal.tsx b/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveGlossaryEntityModal.tsx index 51b39be4e20ea2..de32f48f687a0b 100644 --- a/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveGlossaryEntityModal.tsx +++ b/datahub-web-react/src/app/entity/shared/EntityDropdown/MoveGlossaryEntityModal.tsx @@ -67,7 +67,7 @@ function MoveGlossaryEntityModal(props: Props) { diff --git a/datahub-web-react/src/app/entity/shared/EntityDropdown/UpdateDeprecationModal.tsx b/datahub-web-react/src/app/entity/shared/EntityDropdown/UpdateDeprecationModal.tsx index 01287c2b367bf5..0c36c3a953cb72 100644 --- a/datahub-web-react/src/app/entity/shared/EntityDropdown/UpdateDeprecationModal.tsx +++ b/datahub-web-react/src/app/entity/shared/EntityDropdown/UpdateDeprecationModal.tsx @@ -58,7 +58,7 @@ export const UpdateDeprecationModal = ({ urns, onClose, refetch }: Props) => { return ( void; onSubmit: (description: string) => void; isAddDesc?: boolean; }; -export default function UpdateDescriptionModal({ title, description, original, onClose, onSubmit, isAddDesc }: Props) { +export default function UpdateDescriptionModal({ + title, + description, + original, + propagatedDescription, + onClose, + onSubmit, + isAddDesc, +}: Props) { const [updatedDesc, setDesc] = useState(description || original || ''); const handleEditorKeyDown = (event: React.KeyboardEvent) => { @@ -45,7 +58,7 @@ export default function UpdateDescriptionModal({ title, description, original, o return ( {!isAddDesc && description && original && ( - Original:}> + Original:}> - + + )} + {!isAddDesc && description && propagatedDescription && ( + Propagated:}> + + )} diff --git a/datahub-web-react/src/app/entity/shared/components/styled/AddLinkModal.tsx b/datahub-web-react/src/app/entity/shared/components/styled/AddLinkModal.tsx index 9e18de3b294bf7..2caa116709dcbf 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/AddLinkModal.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/AddLinkModal.tsx @@ -63,7 +63,7 @@ export const AddLinkModal = ({ buttonProps, refetch }: AddLinkProps) => { void; editERModelRelation?: ErModelRelationship; @@ -42,7 +42,7 @@ export const CreateERModelRelationModal = ({ table1Schema, table2, table2Schema, - visible, + open, setModalVisible, onCancel, editERModelRelation, @@ -349,7 +349,7 @@ export const CreateERModelRelationModal = ({ } - visible={visible} + open={open} closable={false} className="CreateERModelRelationModal" okButtonProps={{ hidden: true }} diff --git a/datahub-web-react/src/app/entity/shared/components/styled/ERModelRelationship/ERModelRelationPreview.tsx b/datahub-web-react/src/app/entity/shared/components/styled/ERModelRelationship/ERModelRelationPreview.tsx index b360f03bb5b284..ef65aed02decf1 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/ERModelRelationship/ERModelRelationPreview.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/ERModelRelationship/ERModelRelationPreview.tsx @@ -132,7 +132,7 @@ export const ERModelRelationPreview = ({ ermodelrelationData, baseEntityUrn, pre
{ermodelrelationData?.properties?.relationshipFieldMappings !== undefined && ( { setModalVisible(false); diff --git a/datahub-web-react/src/app/entity/shared/components/styled/search/DownloadAsCsvModal.tsx b/datahub-web-react/src/app/entity/shared/components/styled/search/DownloadAsCsvModal.tsx index c4b5f8fa02b2b8..f5bdd205045e8f 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/search/DownloadAsCsvModal.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/search/DownloadAsCsvModal.tsx @@ -123,7 +123,7 @@ export default function DownloadAsCsvModal({ centered onCancel={() => setShowDownloadAsCsvModal(false)} title="Download as..." - visible={showDownloadAsCsvModal} + open={showDownloadAsCsvModal} footer={ <> } > diff --git a/datahub-web-react/src/app/entity/shared/components/styled/search/SearchExtendedMenu.tsx b/datahub-web-react/src/app/entity/shared/components/styled/search/SearchExtendedMenu.tsx index a26749d8a37a1f..b9ab2a4bd4fbef 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/search/SearchExtendedMenu.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/search/SearchExtendedMenu.tsx @@ -1,11 +1,12 @@ import React, { useState } from 'react'; -import { Button, Dropdown, Menu } from 'antd'; +import { Button, Dropdown } from 'antd'; import { FormOutlined, MoreOutlined } from '@ant-design/icons'; import styled from 'styled-components/macro'; import { AndFilterInput } from '../../../../../../types.generated'; import DownloadAsCsvButton from './DownloadAsCsvButton'; import DownloadAsCsvModal from './DownloadAsCsvModal'; import { DownloadSearchResultsInput, DownloadSearchResults } from '../../../../../search/utils/types'; +import { MenuItemStyle } from '../../../../view/menu/item/styledComponent'; const MenuIcon = styled(MoreOutlined)` font-size: 20px; @@ -18,10 +19,6 @@ const SelectButton = styled(Button)` padding-right: 12px; `; -const MenuItem = styled(Menu.Item)` - padding: 0px; -`; - type Props = { filters: AndFilterInput[]; query: string; @@ -43,24 +40,32 @@ export default function SearchExtendedMenu({ const [isDownloadingCsv, setIsDownloadingCsv] = useState(false); const [showDownloadAsCsvModal, setShowDownloadAsCsvModal] = useState(false); - const menu = ( - - - - - {setShowSelectMode && ( - - setShowSelectMode(true)}> - - Edit... - - - )} - - ); + const items = [ + { + key: 0, + label: ( + + + + ), + }, + setShowSelectMode + ? { + key: 1, + label: ( + + setShowSelectMode(true)}> + + Edit... + + + ), + } + : null, + ]; return ( <> @@ -74,7 +79,7 @@ export default function SearchExtendedMenu({ setShowDownloadAsCsvModal={setShowDownloadAsCsvModal} totalResults={totalResults} /> - + diff --git a/datahub-web-react/src/app/entity/shared/components/styled/search/SearchSelectModal.tsx b/datahub-web-react/src/app/entity/shared/components/styled/search/SearchSelectModal.tsx index 985be5b3f37c7c..3a9b38b461f4ca 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/search/SearchSelectModal.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/search/SearchSelectModal.tsx @@ -68,7 +68,7 @@ export const SearchSelectModal = ({ bodyStyle={MODAL_BODY_STYLE} title={titleText || 'Select entities'} width={MODAL_WIDTH_PX} - visible + open onCancel={onCancelSelect} footer={ <> diff --git a/datahub-web-react/src/app/entity/shared/components/styled/search/action/ActionDropdown.tsx b/datahub-web-react/src/app/entity/shared/components/styled/search/action/ActionDropdown.tsx index 8158f052a6eb16..c958d3b82a430a 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/search/action/ActionDropdown.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/search/action/ActionDropdown.tsx @@ -1,9 +1,9 @@ import React from 'react'; -import { Button, Dropdown, Menu, Tooltip } from 'antd'; +import { Button, Dropdown, Tooltip } from 'antd'; import { CaretDownOutlined } from '@ant-design/icons'; import styled from 'styled-components'; -import MenuItem from 'antd/lib/menu/MenuItem'; import { ANTD_GRAY } from '../../../../constants'; +import { MenuItemStyle } from '../../../../../view/menu/item/styledComponent'; const DownArrow = styled(CaretDownOutlined)` && { @@ -15,12 +15,6 @@ const DownArrow = styled(CaretDownOutlined)` } `; -const StyledMenuItem = styled(MenuItem)` - && { - padding: 0px; - } -`; - const ActionButton = styled(Button)` font-weight: normal; `; @@ -47,23 +41,20 @@ type Props = { }; export default function ActionDropdown({ name, actions, disabled }: Props) { + const items = actions.map((action, i) => ({ + key: i, + label: ( + + + {action.title} + + + ), + })); + return ( - - {actions.map((action) => ( - - - {action.title} - - - ))} - - } - > + {name} diff --git a/datahub-web-react/src/app/entity/shared/components/styled/search/action/GlossaryTermsDropdown.tsx b/datahub-web-react/src/app/entity/shared/components/styled/search/action/GlossaryTermsDropdown.tsx index 7206abed305c47..9083567d0fd70f 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/search/action/GlossaryTermsDropdown.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/search/action/GlossaryTermsDropdown.tsx @@ -39,7 +39,7 @@ export default function GlossaryTermsDropdown({ urns, disabled = false, refetch {isEditModalVisible && ( { setIsEditModalVisible(false); refetch?.(); diff --git a/datahub-web-react/src/app/entity/shared/components/styled/search/action/TagsDropdown.tsx b/datahub-web-react/src/app/entity/shared/components/styled/search/action/TagsDropdown.tsx index 411ee62f64ccad..94dcd4d24540f0 100644 --- a/datahub-web-react/src/app/entity/shared/components/styled/search/action/TagsDropdown.tsx +++ b/datahub-web-react/src/app/entity/shared/components/styled/search/action/TagsDropdown.tsx @@ -39,7 +39,7 @@ export default function TagsDropdown({ urns, disabled = false, refetch }: Props) {isEditModalVisible && ( { setIsEditModalVisible(false); refetch?.(); diff --git a/datahub-web-react/src/app/entity/shared/containers/profile/__tests__/EntityHeader.test.tsx b/datahub-web-react/src/app/entity/shared/containers/profile/__tests__/EntityHeader.test.tsx index db347d4f1cc54c..ec6a91df9019ab 100644 --- a/datahub-web-react/src/app/entity/shared/containers/profile/__tests__/EntityHeader.test.tsx +++ b/datahub-web-react/src/app/entity/shared/containers/profile/__tests__/EntityHeader.test.tsx @@ -3,13 +3,14 @@ import { EntityType } from '../../../../../../types.generated'; import { getCanEditName } from '../header/EntityHeader'; describe('getCanEditName', () => { - const entityDataWithManagePrivileges = { privileges: { canManageEntity: true } }; - const entityDataWithoutManagePrivileges = { privileges: { canManageEntity: false } }; + const entityDataWithManagePrivileges = { privileges: { canManageEntity: true, canEditProperties: true } }; + const entityDataWithoutManagePrivileges = { privileges: { canManageEntity: false, canEditProperties: false } }; it('should return true for Terms if manageGlossaries privilege is true', () => { const canEditName = getCanEditName( EntityType.GlossaryTerm, entityDataWithoutManagePrivileges, + true, platformPrivileges, ); @@ -21,6 +22,7 @@ describe('getCanEditName', () => { const canEditName = getCanEditName( EntityType.GlossaryTerm, entityDataWithoutManagePrivileges, + true, privilegesWithoutGlossaries, ); @@ -32,6 +34,7 @@ describe('getCanEditName', () => { const canEditName = getCanEditName( EntityType.GlossaryTerm, entityDataWithManagePrivileges, + true, privilegesWithoutGlossaries, ); @@ -42,6 +45,7 @@ describe('getCanEditName', () => { const canEditName = getCanEditName( EntityType.GlossaryNode, entityDataWithoutManagePrivileges, + true, platformPrivileges, ); @@ -53,6 +57,7 @@ describe('getCanEditName', () => { const canEditName = getCanEditName( EntityType.GlossaryNode, entityDataWithoutManagePrivileges, + true, privilegesWithoutGlossaries, ); @@ -64,6 +69,7 @@ describe('getCanEditName', () => { const canEditName = getCanEditName( EntityType.GlossaryNode, entityDataWithManagePrivileges, + true, privilegesWithoutGlossaries, ); @@ -71,7 +77,12 @@ describe('getCanEditName', () => { }); it('should return true for Domains if manageDomains privilege is true', () => { - const canEditName = getCanEditName(EntityType.Domain, entityDataWithoutManagePrivileges, platformPrivileges); + const canEditName = getCanEditName( + EntityType.Domain, + entityDataWithoutManagePrivileges, + true, + platformPrivileges, + ); expect(canEditName).toBe(true); }); @@ -81,6 +92,7 @@ describe('getCanEditName', () => { const canEditName = getCanEditName( EntityType.Domain, entityDataWithoutManagePrivileges, + true, privilegesWithoutDomains, ); @@ -88,7 +100,30 @@ describe('getCanEditName', () => { }); it('should return false for an unsupported entity', () => { - const canEditName = getCanEditName(EntityType.Chart, entityDataWithManagePrivileges, platformPrivileges); + const canEditName = getCanEditName(EntityType.Chart, entityDataWithManagePrivileges, true, platformPrivileges); + + expect(canEditName).toBe(false); + }); + + it('should return true for a dataset if canEditProperties is true', () => { + const canEditName = getCanEditName(EntityType.Chart, entityDataWithManagePrivileges, true, platformPrivileges); + + expect(canEditName).toBe(false); + }); + + it('should return false for a dataset if canEditProperties is false', () => { + const canEditName = getCanEditName( + EntityType.Chart, + entityDataWithoutManagePrivileges, + true, + platformPrivileges, + ); + + expect(canEditName).toBe(false); + }); + + it('should return false for a dataset if isEditableDatasetNameEnabled is false', () => { + const canEditName = getCanEditName(EntityType.Chart, entityDataWithManagePrivileges, false, platformPrivileges); expect(canEditName).toBe(false); }); diff --git a/datahub-web-react/src/app/entity/shared/containers/profile/header/EntityHeader.tsx b/datahub-web-react/src/app/entity/shared/containers/profile/header/EntityHeader.tsx index 09fa23dbc9f57c..12fa9131f33c73 100644 --- a/datahub-web-react/src/app/entity/shared/containers/profile/header/EntityHeader.tsx +++ b/datahub-web-react/src/app/entity/shared/containers/profile/header/EntityHeader.tsx @@ -17,6 +17,7 @@ import { capitalizeFirstLetterOnly } from '../../../../../shared/textUtil'; import { useUserContext } from '../../../../../context/useUserContext'; import { useEntityRegistry } from '../../../../../useEntityRegistry'; import EntityHeaderLoadingSection from './EntityHeaderLoadingSection'; +import { useIsEditableDatasetNameEnabled } from '../../../../../useAppConfig'; const TitleWrapper = styled.div` display: flex; @@ -59,6 +60,7 @@ const TopButtonsWrapper = styled.div` export function getCanEditName( entityType: EntityType, entityData: GenericEntityProperties | null, + isEditableDatasetNameEnabled: boolean, privileges?: PlatformPrivileges, ) { switch (entityType) { @@ -71,6 +73,8 @@ export function getCanEditName( return true; // TODO: add permissions for data products case EntityType.BusinessAttribute: return privileges?.manageBusinessAttributes; + case EntityType.Dataset: + return isEditableDatasetNameEnabled && entityData?.privileges?.canEditProperties; default: return false; } @@ -94,8 +98,15 @@ export const EntityHeader = ({ headerDropdownItems, headerActionItems, isNameEdi const entityName = entityData?.name; const subType = capitalizeFirstLetterOnly(entityData?.subTypes?.typeNames?.[0]) || undefined; + const isEditableDatasetNameEnabled = useIsEditableDatasetNameEnabled(); const canEditName = - isNameEditable && getCanEditName(entityType, entityData, me?.platformPrivileges as PlatformPrivileges); + isNameEditable && + getCanEditName( + entityType, + entityData, + isEditableDatasetNameEnabled, + me?.platformPrivileges as PlatformPrivileges, + ); const entityRegistry = useEntityRegistry(); return ( @@ -106,7 +117,7 @@ export const EntityHeader = ({ headerDropdownItems, headerActionItems, isNameEdi <> - + {entityData?.deprecation?.deprecated && ( {(unhealthy && ( - + {icon} diff --git a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Container/ContainerSelectModal.tsx b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Container/ContainerSelectModal.tsx index 17e03ff1ddaf64..681f89831b92c4 100644 --- a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Container/ContainerSelectModal.tsx +++ b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Container/ContainerSelectModal.tsx @@ -140,7 +140,7 @@ export const ContainerSelectModal = ({ onCloseModal, defaultValues, onOkOverride return ( diff --git a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Domain/SetDomainModal.tsx b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Domain/SetDomainModal.tsx index ab63553c6376b8..f0c315332a0537 100644 --- a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Domain/SetDomainModal.tsx +++ b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Domain/SetDomainModal.tsx @@ -195,7 +195,7 @@ export const SetDomainModal = ({ urns, onCloseModal, refetch, defaultValue, onOk return ( diff --git a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/EntitySidebar.tsx b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/EntitySidebar.tsx index a8d1dceb71ec92..b5e3b221c736d0 100644 --- a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/EntitySidebar.tsx +++ b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/EntitySidebar.tsx @@ -46,7 +46,7 @@ export const EntitySidebar = ({ sidebarSections, topSection }: Props) => { return ( <> {topSection && } - {entityData?.lastIngested && ( + {!!entityData?.lastIngested && ( diff --git a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Ownership/EditOwnersModal.tsx b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Ownership/EditOwnersModal.tsx index ff26b5d8aa4c5f..62b967e8f7b30d 100644 --- a/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Ownership/EditOwnersModal.tsx +++ b/datahub-web-react/src/app/entity/shared/containers/profile/sidebar/Ownership/EditOwnersModal.tsx @@ -336,7 +336,7 @@ export const EditOwnersModal = ({ return ( diff --git a/datahub-web-react/src/app/entity/shared/propagation/PropagationDetails.tsx b/datahub-web-react/src/app/entity/shared/propagation/PropagationDetails.tsx new file mode 100644 index 00000000000000..646f47134938c4 --- /dev/null +++ b/datahub-web-react/src/app/entity/shared/propagation/PropagationDetails.tsx @@ -0,0 +1,109 @@ +import React from 'react'; +import styled from 'styled-components'; +import { Popover } from 'antd'; +import { StringMapEntry } from '../../../../types.generated'; +import PropagationEntityLink from './PropagationEntityLink'; +import { usePropagationDetails } from './utils'; +import { PropagateThunderbolt, PropagateThunderboltFilled } from './PropagationIcon'; + +const PopoverWrapper = styled.div` + display: flex; + flex-direction: column; +`; + +const PopoverTitle = styled.div` + font-weight: bold; + font-size: 14px; + padding: 6px 0px; + color: #eeecfa; +`; + +const PopoverDescription = styled.div` + max-width: 340px; + font-size: 14px; + color: #eeecfa; + display: inline; + padding: 0px 0px 8px 0px; +`; + +const PopoverAttributes = styled.div` + display: flex; +`; + +const PopoverAttribute = styled.div` + margin-right: 12px; + margin-bottom: 4px; +`; + +const PopoverAttributeTitle = styled.div` + font-size: 14px; + color: #eeecfa; + font-weight: bold; + margin: 8px 0px; + overflow: hidden; + text-overflow: ellipsis; +`; + +const PopoverDocumentation = styled.a` + margin-top: 12px; +`; + +interface Props { + sourceDetail?: StringMapEntry[] | null; +} + +export default function PropagationDetails({ sourceDetail }: Props) { + const { + isPropagated, + origin: { entity: originEntity }, + via: { entity: viaEntity }, + } = usePropagationDetails(sourceDetail); + + if (!sourceDetail || !isPropagated) return null; + + const popoverContent = + originEntity || viaEntity ? ( + + + This description was automatically propagated from an upstream column.{' '} + + Learn more + + + + {originEntity && originEntity.urn !== viaEntity?.urn && ( + + Origin + + + )} + {viaEntity && ( + + Via + + + )} + + + ) : undefined; + + return ( + + + Propagated Description + + } + content={popoverContent} + > + + + ); +} diff --git a/datahub-web-react/src/app/entity/shared/propagation/PropagationEntityLink.tsx b/datahub-web-react/src/app/entity/shared/propagation/PropagationEntityLink.tsx new file mode 100644 index 00000000000000..8c1285dd5808b1 --- /dev/null +++ b/datahub-web-react/src/app/entity/shared/propagation/PropagationEntityLink.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import styled from 'styled-components'; +import { Link } from 'react-router-dom'; +import { useEntityRegistry } from '../../../useEntityRegistry'; +import { Entity, EntityType, SchemaFieldEntity } from '../../../../types.generated'; +import { GenericEntityProperties } from '../types'; + +const PreviewImage = styled.img<{ size: number }>` + height: ${(props) => props.size}px; + width: ${(props) => props.size}px; + min-width: ${(props) => props.size}px; + object-fit: contain; + background-color: transparent; + margin: 0px 4px 0px 0px; +`; + +const StyledLink = styled(Link)` + margin-right: 4px; + display: flex; + align-items: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +`; + +interface Props { + entity: Entity; +} + +export default function PropagationEntityLink({ entity }: Props) { + const entityRegistry = useEntityRegistry(); + + const isSchemaField = entity.type === EntityType.SchemaField; + const baseEntity = isSchemaField ? (entity as SchemaFieldEntity).parent : entity; + + const logoUrl = (baseEntity as GenericEntityProperties)?.platform?.properties?.logoUrl || ''; + let entityUrl = entityRegistry.getEntityUrl(baseEntity.type, baseEntity.urn); + let entityDisplayName = entityRegistry.getDisplayName(baseEntity.type, baseEntity); + + if (isSchemaField) { + entityUrl = `${entityUrl}/${encodeURIComponent('Columns')}?schemaFilter=${encodeURIComponent( + (entity as SchemaFieldEntity).fieldPath, + )}`; + const schemaFieldName = entityRegistry.getDisplayName(entity.type, entity); + entityDisplayName = `${entityDisplayName}.${schemaFieldName}`; + } + + return ( + <> + + + {entityDisplayName} + + + ); +} diff --git a/datahub-web-react/src/app/entity/shared/propagation/PropagationIcon.tsx b/datahub-web-react/src/app/entity/shared/propagation/PropagationIcon.tsx new file mode 100644 index 00000000000000..01b4570c4ca0df --- /dev/null +++ b/datahub-web-react/src/app/entity/shared/propagation/PropagationIcon.tsx @@ -0,0 +1,22 @@ +import styled from 'styled-components'; +import { ThunderboltFilled } from '@ant-design/icons'; +import { REDESIGN_COLORS } from '../constants'; + +export const PropagateThunderbolt = styled(ThunderboltFilled)` + && { + color: #a7c7fa; + } + font-size: 16px; + &:hover { + color: ${REDESIGN_COLORS.BLUE}; + } + margin-right: 4px; +`; + +export const PropagateThunderboltFilled = styled(ThunderboltFilled)` + && { + color: ${REDESIGN_COLORS.BLUE}; + } + font-size: 16px; + margin-right: 4px; +`; diff --git a/datahub-web-react/src/app/entity/shared/propagation/utils.ts b/datahub-web-react/src/app/entity/shared/propagation/utils.ts new file mode 100644 index 00000000000000..d8b4d4d931f4ee --- /dev/null +++ b/datahub-web-react/src/app/entity/shared/propagation/utils.ts @@ -0,0 +1,24 @@ +import { StringMapEntry } from '../../../../types.generated'; +import { useGetEntities } from '../useGetEntities'; + +export function usePropagationDetails(sourceDetail?: StringMapEntry[] | null) { + const isPropagated = !!sourceDetail?.find((mapEntry) => mapEntry.key === 'propagated' && mapEntry.value === 'true'); + const originEntityUrn = sourceDetail?.find((mapEntry) => mapEntry.key === 'origin')?.value || ''; + const viaEntityUrn = sourceDetail?.find((mapEntry) => mapEntry.key === 'via')?.value || ''; + + const entities = useGetEntities([originEntityUrn, viaEntityUrn]); + const originEntity = entities.find((e) => e.urn === originEntityUrn); + const viaEntity = entities.find((e) => e.urn === viaEntityUrn); + + return { + isPropagated, + origin: { + urn: originEntityUrn, + entity: originEntity, + }, + via: { + urn: viaEntityUrn, + entity: viaEntity, + }, + }; +} diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/GovernanceTab.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/GovernanceTab.tsx new file mode 100644 index 00000000000000..213716ed501c5b --- /dev/null +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/GovernanceTab.tsx @@ -0,0 +1,85 @@ +import React, { useEffect } from 'react'; +import { Button } from 'antd'; +import { useHistory, useLocation } from 'react-router'; +import styled from 'styled-components'; +import { FileDoneOutlined } from '@ant-design/icons'; +import { useEntityData } from '../../../EntityContext'; +import { TestResults } from './TestResults'; +import TabToolbar from '../../../components/styled/TabToolbar'; +import { ANTD_GRAY } from '../../../constants'; +import { useGetValidationsTab } from '../Validations/useGetValidationsTab'; + +const TabTitle = styled.span` + margin-left: 4px; +`; + +const TabButton = styled(Button)<{ selected: boolean }>` + background-color: ${(props) => (props.selected && ANTD_GRAY[3]) || 'none'}; + margin-left: 4px; +`; + +enum TabPaths { + TESTS = 'Tests', +} + +const DEFAULT_TAB = TabPaths.TESTS; + +/** + * Component used for rendering the Entity Governance Tab. + */ +export const GovernanceTab = () => { + const { entityData } = useEntityData(); + const history = useHistory(); + const { pathname } = useLocation(); + + const passingTests = (entityData as any)?.testResults?.passing || []; + const maybeFailingTests = (entityData as any)?.testResults?.failing || []; + const totalTests = maybeFailingTests.length + passingTests.length; + + const { selectedTab, basePath } = useGetValidationsTab(pathname, Object.values(TabPaths)); + + // If no tab was selected, select a default tab. + useEffect(() => { + if (!selectedTab) { + // Route to the default tab. + history.replace(`${basePath}/${DEFAULT_TAB}`); + } + }, [selectedTab, basePath, history]); + + /** + * The top-level Toolbar tabs to display. + */ + const tabs = [ + { + title: ( + <> + + Tests ({totalTests}) + + ), + path: TabPaths.TESTS, + disabled: totalTests === 0, + content: , + }, + ]; + + return ( + <> + +
+ {tabs.map((tab) => ( + history.replace(`${basePath}/${tab.path}`)} + > + {tab.title} + + ))} +
+
+ {tabs.filter((tab) => tab.path === selectedTab).map((tab) => tab.content)} + + ); +}; diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/TestResults.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/TestResults.tsx similarity index 100% rename from datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/TestResults.tsx rename to datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/TestResults.tsx diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/TestResultsList.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/TestResultsList.tsx similarity index 100% rename from datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/TestResultsList.tsx rename to datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/TestResultsList.tsx diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/TestResultsSummary.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/TestResultsSummary.tsx similarity index 100% rename from datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/TestResultsSummary.tsx rename to datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/TestResultsSummary.tsx diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/testUtils.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/testUtils.tsx similarity index 100% rename from datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/testUtils.tsx rename to datahub-web-react/src/app/entity/shared/tabs/Dataset/Governance/testUtils.tsx diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryBuilderModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryBuilderModal.tsx index 33f9652bb3fd39..063408fbf55a65 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryBuilderModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryBuilderModal.tsx @@ -147,7 +147,7 @@ export default function QueryBuilderModal({ initialState, datasetUrn, onClose, o bodyStyle={MODAL_BODY_STYLE} title={{isUpdating ? 'Edit' : 'New'} Query} className="query-builder-modal" - visible + open onCancel={confirmClose} footer={ <> diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryCardDetailsMenu.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryCardDetailsMenu.tsx index a663dfffaaabf0..cff45f153c9481 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryCardDetailsMenu.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryCardDetailsMenu.tsx @@ -1,9 +1,10 @@ import React from 'react'; import styled from 'styled-components'; import { DeleteOutlined, MoreOutlined } from '@ant-design/icons'; -import { Dropdown, Menu, message, Modal } from 'antd'; +import { Dropdown, message, Modal } from 'antd'; import { useDeleteQueryMutation } from '../../../../../../graphql/query.generated'; import handleGraphQLError from '../../../../../shared/handleGraphQLError'; +import { MenuItemStyle } from '../../../../view/menu/item/styledComponent'; const StyledMoreOutlined = styled(MoreOutlined)` font-size: 14px; @@ -52,17 +53,19 @@ export default function QueryCardDetailsMenu({ urn, onDeleted, index }: Props) { }); }; + const items = [ + { + key: 0, + label: ( + +   Delete + + ), + }, + ]; + return ( - - -   Delete - - - } - trigger={['click']} - > + ); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryModal.tsx index 985f2094b0fb1f..32ac91071a3ec4 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Queries/QueryModal.tsx @@ -72,7 +72,7 @@ type Props = { export default function QueryModal({ query, title, description, showDetails = true, onClose }: Props) { return ( { table1Schema={entityWithSchema} table2={table2LazyDataset} table2Schema={table2LazySchema} - visible={modalVisible} + open={modalVisible} setModalVisible={setModalVisible} onCancel={() => { setModalVisible(false); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/MenuColumn.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/MenuColumn.tsx index b5cd7add41c84f..8c97bfbf598bd0 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/MenuColumn.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/MenuColumn.tsx @@ -2,11 +2,12 @@ import React from 'react'; import { VscGraphLeft } from 'react-icons/vsc'; import { CopyOutlined } from '@ant-design/icons'; import styled from 'styled-components/macro'; -import { Dropdown, Menu } from 'antd'; +import { Dropdown } from 'antd'; import { MenuIcon } from '../../../../EntityDropdown/EntityDropdown'; import { useEntityData, useRouteToTab } from '../../../../EntityContext'; import { SchemaField } from '../../../../../../../types.generated'; import { generateSchemaFieldUrn } from '../../../Lineage/utils'; +import { MenuItemStyle } from '../../../../../view/menu/item/styledComponent'; export const ImpactAnalysisIcon = styled(VscGraphLeft)` transform: scaleX(-1); @@ -18,14 +19,6 @@ export const CopyOutlinedIcon = styled(CopyOutlined)` font-size: 16px; `; -const MenuItem = styled.div` - align-items: center; - display: flex; - font-size: 12px; - padding: 0 4px; - color: #262626; -`; - interface Props { field: SchemaField; } @@ -35,43 +28,49 @@ export default function MenuColumn({ field }: Props) { const { urn } = useEntityData(); const selectedColumnUrn = generateSchemaFieldUrn(field.fieldPath, urn); + const items = [ + { + key: 0, + label: ( + routeToTab({ tabName: 'Lineage', tabParams: { column: field.fieldPath } })} + > +   See Column Lineage + + ), + }, + navigator.clipboard + ? { + key: 1, + label: ( + { + navigator.clipboard.writeText(field.fieldPath); + }} + > +   Copy Column Field Path + + ), + } + : null, + navigator.clipboard + ? { + key: 2, + label: ( + { + navigator.clipboard.writeText(selectedColumnUrn || ''); + }} + > +   Copy Column Urn + + ), + } + : null, + ]; + return ( - - - routeToTab({ tabName: 'Lineage', tabParams: { column: field.fieldPath } })} - > -   See Column Lineage - - - {navigator.clipboard && ( - - { - navigator.clipboard.writeText(field.fieldPath); - }} - > -   Copy Column Field Path - - - )} - {navigator.clipboard && ( - - { - navigator.clipboard.writeText(selectedColumnUrn || ''); - }} - > -   Copy Column Urn - - - )} - - } - trigger={['click']} - > + ); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldDescription.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldDescription.tsx index be95cba3ab4f07..e64a1436b0b1c5 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldDescription.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldDescription.tsx @@ -6,6 +6,8 @@ import styled from 'styled-components'; import { SectionHeader, StyledDivider } from './components'; import UpdateDescriptionModal from '../../../../../components/legacy/DescriptionModal'; import { EditableSchemaFieldInfo, SchemaField, SubResourceType } from '../../../../../../../../types.generated'; +import { getFieldDescriptionDetails } from '../../utils/getFieldDescriptionDetails'; +import PropagationDetails from '../../../../../propagation/PropagationDetails'; import DescriptionSection from '../../../../../containers/profile/sidebar/AboutSection/DescriptionSection'; import { useEntityData, useMutationUrn, useRefetch } from '../../../../../EntityContext'; import { useSchemaRefetch } from '../../SchemaContext'; @@ -13,11 +15,6 @@ import { useUpdateDescriptionMutation } from '../../../../../../../../graphql/mu import analytics, { EntityActionType, EventType } from '../../../../../../../analytics'; import SchemaEditableContext from '../../../../../../../shared/SchemaEditableContext'; -const DescriptionWrapper = styled.div` - display: flex; - justify-content: space-between; -`; - const EditIcon = styled(Button)` border: none; box-shadow: none; @@ -25,6 +22,13 @@ const EditIcon = styled(Button)` width: 20px; `; +const DescriptionWrapper = styled.div` + display: flex; + gap: 4px; + align-items: center; + justify-content: space-between; +`; + interface Props { expandedField: SchemaField; editableFieldInfo?: EditableSchemaFieldInfo; @@ -76,7 +80,13 @@ export default function FieldDescription({ expandedField, editableFieldInfo }: P }, }); - const displayedDescription = editableFieldInfo?.description || expandedField.description; + const { schemaFieldEntity, description } = expandedField; + const { displayedDescription, isPropagated, sourceDetail, propagatedDescription } = getFieldDescriptionDetails({ + schemaFieldEntity, + editableFieldInfo, + defaultDescription: description, + }); + const baDescription = expandedField?.schemaFieldEntity?.businessAttributes?.businessAttribute?.businessAttribute?.properties ?.description; @@ -87,12 +97,17 @@ export default function FieldDescription({ expandedField, editableFieldInfo }: P
Description - + + {isPropagated && } + {!!displayedDescription && ( + + )} +
{isSchemaEditable && ( )} diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldProperties.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldProperties.tsx index 8c88cdce95f06f..689a191f469f53 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldProperties.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/components/SchemaFieldDrawer/FieldProperties.tsx @@ -4,6 +4,8 @@ import { SchemaField, StdDataType } from '../../../../../../../../types.generate import { SectionHeader, StyledDivider } from './components'; import { mapStructuredPropertyValues } from '../../../../Properties/useStructuredProperties'; import StructuredPropertyValue from '../../../../Properties/StructuredPropertyValue'; +import { EditColumn } from '../../../../Properties/Edit/EditColumn'; +import { useGetEntityWithSchema } from '../../useGetEntitySchema'; const PropertyTitle = styled.div` font-size: 14px; @@ -13,6 +15,8 @@ const PropertyTitle = styled.div` const PropertyWrapper = styled.div` margin-bottom: 12px; + display: flex; + justify-content: space-between; `; const PropertiesWrapper = styled.div` @@ -29,6 +33,7 @@ interface Props { export default function FieldProperties({ expandedField }: Props) { const { schemaFieldEntity } = expandedField; + const { refetch } = useGetEntityWithSchema(true); if (!schemaFieldEntity?.structuredProperties?.properties?.length) return null; @@ -43,23 +48,33 @@ export default function FieldProperties({ expandedField }: Props) { const hasMultipleValues = valuesData.length > 1; return ( - - {structuredProp.structuredProperty.definition.displayName} - {hasMultipleValues ? ( - - {valuesData.map((value) => ( -
  • + +
    + + {structuredProp.structuredProperty.definition.displayName} + + {hasMultipleValues ? ( + + {valuesData.map((value) => ( +
  • + +
  • + ))} +
    + ) : ( + <> + {valuesData.map((value) => ( - - ))} - - ) : ( - <> - {valuesData.map((value) => ( - - ))} - - )} + ))} + + )} +
    + v.value) || []} + refetch={refetch} + /> ); })} diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/utils/getFieldDescriptionDetails.ts b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/utils/getFieldDescriptionDetails.ts new file mode 100644 index 00000000000000..6434baddb77a66 --- /dev/null +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/utils/getFieldDescriptionDetails.ts @@ -0,0 +1,25 @@ +import { EditableSchemaFieldInfo, SchemaFieldEntity } from '../../../../../../../types.generated'; + +interface Props { + schemaFieldEntity?: SchemaFieldEntity | null; + editableFieldInfo?: EditableSchemaFieldInfo; + defaultDescription?: string | null; +} + +export function getFieldDescriptionDetails({ schemaFieldEntity, editableFieldInfo, defaultDescription }: Props) { + const documentation = schemaFieldEntity?.documentation?.documentations?.[0]; + const isUsingDocumentationAspect = !editableFieldInfo?.description && !!documentation; + const isPropagated = + isUsingDocumentationAspect && + !!documentation?.attribution?.sourceDetail?.find( + (mapEntry) => mapEntry.key === 'propagated' && mapEntry.value === 'true', + ); + + const displayedDescription = + editableFieldInfo?.description || documentation?.documentation || defaultDescription || ''; + + const sourceDetail = documentation?.attribution?.sourceDetail; + const propagatedDescription = documentation?.documentation; + + return { displayedDescription, isPropagated, sourceDetail, propagatedDescription }; +} diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/utils/useDescriptionRenderer.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/utils/useDescriptionRenderer.tsx index 73e6d2ca6e9b3e..bb70c2cb493037 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/utils/useDescriptionRenderer.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Schema/utils/useDescriptionRenderer.tsx @@ -6,6 +6,7 @@ import { useUpdateDescriptionMutation } from '../../../../../../../graphql/mutat import { useMutationUrn, useRefetch } from '../../../../EntityContext'; import { useSchemaRefetch } from '../SchemaContext'; import { pathMatchesNewPath } from '../../../../../dataset/profile/schema/utils/utils'; +import { getFieldDescriptionDetails } from './getFieldDescriptionDetails'; export default function useDescriptionRenderer(editableSchemaMetadata: EditableSchemaMetadata | null | undefined) { const urn = useMutationUrn(); @@ -21,10 +22,16 @@ export default function useDescriptionRenderer(editableSchemaMetadata: EditableS }; return (description: string, record: SchemaField, index: number): JSX.Element => { - const relevantEditableFieldInfo = editableSchemaMetadata?.editableSchemaFieldInfo.find( - (candidateEditableFieldInfo) => pathMatchesNewPath(candidateEditableFieldInfo.fieldPath, record.fieldPath), + const editableFieldInfo = editableSchemaMetadata?.editableSchemaFieldInfo.find((candidateEditableFieldInfo) => + pathMatchesNewPath(candidateEditableFieldInfo.fieldPath, record.fieldPath), ); - const displayedDescription = relevantEditableFieldInfo?.description || description; + const { schemaFieldEntity } = record; + const { displayedDescription, isPropagated, sourceDetail } = getFieldDescriptionDetails({ + schemaFieldEntity, + editableFieldInfo, + defaultDescription: description, + }); + const sanitizedDescription = DOMPurify.sanitize(displayedDescription); const original = record.description ? DOMPurify.sanitize(record.description) : undefined; const businessAttributeDescription = @@ -43,7 +50,7 @@ export default function useDescriptionRenderer(editableSchemaMetadata: EditableS baExpanded={!!expandedBARows[index]} description={sanitizedDescription} original={original} - isEdited={!!relevantEditableFieldInfo?.description} + isEdited={!!editableFieldInfo?.description} onUpdate={(updatedDescription) => updateDescription({ variables: { @@ -56,6 +63,8 @@ export default function useDescriptionRenderer(editableSchemaMetadata: EditableS }, }).then(refresh) } + isPropagated={isPropagated} + sourceDetail={sourceDetail} isReadOnly /> ); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Stats/historical/charts/ProfilingRunsChart.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Stats/historical/charts/ProfilingRunsChart.tsx index 11ec85d65da420..0b2eb6db1c6f0f 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Stats/historical/charts/ProfilingRunsChart.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Stats/historical/charts/ProfilingRunsChart.tsx @@ -84,7 +84,7 @@ export default function ProfilingRunsChart({ profiles }: Props) { return ( <> {selectedProfile && ( - + - - - ); -} diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx index daebfd55975884..3318baf6d0c609 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionDescription.tsx @@ -362,7 +362,7 @@ export const DatasetAssertionDescription = ({ description, assertionInfo }: Prop )} setIsLogicVisible(false)} /> diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionLogicModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionLogicModal.tsx index 549a10ecd24cde..627deb163c2a06 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionLogicModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionLogicModal.tsx @@ -11,13 +11,13 @@ export type AssertionsSummary = { type Props = { logic: string; - visible: boolean; + open: boolean; onClose: () => void; }; -export const DatasetAssertionLogicModal = ({ logic, visible, onClose }: Props) => { +export const DatasetAssertionLogicModal = ({ logic, open, onClose }: Props) => { return ( - Close}> + Close}> ); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionsList.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionsList.tsx index 4d0e475d5dad14..af8f9434558498 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionsList.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/DatasetAssertionsList.tsx @@ -17,11 +17,11 @@ import { Assertion, AssertionRunStatus, DataContract, EntityType } from '../../. import { getResultColor, getResultIcon, getResultText } from './assertionUtils'; import { useDeleteAssertionMutation } from '../../../../../../graphql/assertion.generated'; import { capitalizeFirstLetterOnly } from '../../../../../shared/textUtil'; -import AssertionMenu from './AssertionMenu'; import { REDESIGN_COLORS } from '../../../constants'; import { useEntityRegistry } from '../../../../../useEntityRegistry'; import { isAssertionPartOfContract } from './contract/utils'; import { useEntityData } from '../../../EntityContext'; +import CopyUrnMenuItem from '../../../../../shared/share/items/CopyUrnMenuItem'; const ResultContainer = styled.div` display: flex; @@ -136,6 +136,15 @@ export const DatasetAssertionsList = ({ assertion.runEvents.runEvents[0].result?.type, })); + const assertionMenuItems = (urn: string) => { + return [ + { + key: 1, + label: , + }, + ]; + }; + const assertionsTableCols = [ { title: '', @@ -188,7 +197,7 @@ export const DatasetAssertionsList = ({ to={`${entityRegistry.getEntityUrl( EntityType.Dataset, entityData.urn, - )}/Validation/Data Contract`} + )}/Quality/Data Contract`} style={{ color: REDESIGN_COLORS.BLUE }} > view @@ -200,7 +209,7 @@ export const DatasetAssertionsList = ({ to={`${entityRegistry.getEntityUrl( EntityType.Dataset, entityData.urn, - )}/Validation/Data Contract`} + )}/Quality/Data Contract`} > @@ -215,9 +224,9 @@ export const DatasetAssertionsList = ({ title: '', dataIndex: '', key: '', - render: (_, record: any) => ( - <> - {showMenu && ( + render: (_, record: any) => { + return ( + showMenu && ( onDeleteAssertion(record.urn)} type="text" shape="circle" danger> - } trigger={['click']}> + - )} - - ), + ) + ); + }, }, ]; diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/ValidationsTab.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/ValidationsTab.tsx index 92af9bfc2b567b..006823db53fd44 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/ValidationsTab.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/ValidationsTab.tsx @@ -2,9 +2,8 @@ import React, { useEffect } from 'react'; import { Button } from 'antd'; import { useHistory, useLocation } from 'react-router'; import styled from 'styled-components'; -import { AuditOutlined, FileDoneOutlined, FileProtectOutlined } from '@ant-design/icons'; +import { AuditOutlined, FileProtectOutlined } from '@ant-design/icons'; import { useEntityData } from '../../../EntityContext'; -import { TestResults } from './TestResults'; import { Assertions } from './Assertions'; import TabToolbar from '../../../components/styled/TabToolbar'; import { useGetValidationsTab } from './useGetValidationsTab'; @@ -22,8 +21,7 @@ const TabButton = styled(Button)<{ selected: boolean }>` `; enum TabPaths { - ASSERTIONS = 'Assertions', - TESTS = 'Tests', + ASSERTIONS = 'List', DATA_CONTRACT = 'Data Contract', } @@ -39,9 +37,6 @@ export const ValidationsTab = () => { const appConfig = useAppConfig(); const totalAssertions = (entityData as any)?.assertions?.total; - const passingTests = (entityData as any)?.testResults?.passing || []; - const maybeFailingTests = (entityData as any)?.testResults?.failing || []; - const totalTests = maybeFailingTests.length + passingTests.length; const { selectedTab, basePath } = useGetValidationsTab(pathname, Object.values(TabPaths)); @@ -68,17 +63,6 @@ export const ValidationsTab = () => { disabled: totalAssertions === 0, content: , }, - { - title: ( - <> - - Tests ({totalTests}) - - ), - path: TabPaths.TESTS, - disabled: totalTests === 0, - content: , - }, ]; if (appConfig.config.featureFlags?.dataContractsEnabled) { diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/__tests__/useGetValidationsTab.test.ts b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/__tests__/useGetValidationsTab.test.ts index 52689a225eae15..f65c337215ed90 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/__tests__/useGetValidationsTab.test.ts +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/__tests__/useGetValidationsTab.test.ts @@ -2,37 +2,37 @@ import { useGetValidationsTab } from '../useGetValidationsTab'; describe('useGetValidationsTab', () => { it('should correctly extract valid tab', () => { - const pathname = '/dataset/urn:li:abc/Validation/Assertions'; - const tabNames = ['Assertions']; + const pathname = '/dataset/urn:li:abc/Quality/List'; + const tabNames = ['List']; const res = useGetValidationsTab(pathname, tabNames); - expect(res.selectedTab).toEqual('Assertions'); - expect(res.basePath).toEqual('/dataset/urn:li:abc/Validation'); + expect(res.selectedTab).toEqual('List'); + expect(res.basePath).toEqual('/dataset/urn:li:abc/Quality'); }); it('should extract undefined for invalid tab', () => { - const pathname = '/dataset/urn:li:abc/Validation/Assertions'; + const pathname = '/dataset/urn:li:abc/Quality/Assertions'; const tabNames = ['Tests']; const res = useGetValidationsTab(pathname, tabNames); expect(res.selectedTab).toBeUndefined(); - expect(res.basePath).toEqual('/dataset/urn:li:abc/Validation'); + expect(res.basePath).toEqual('/dataset/urn:li:abc/Quality'); }); it('should extract undefined for missing tab', () => { - const pathname = '/dataset/urn:li:abc/Validation'; + const pathname = '/dataset/urn:li:abc/Quality'; const tabNames = ['Tests']; const res = useGetValidationsTab(pathname, tabNames); expect(res.selectedTab).toBeUndefined(); - expect(res.basePath).toEqual('/dataset/urn:li:abc/Validation'); + expect(res.basePath).toEqual('/dataset/urn:li:abc/Quality'); }); it('should handle trailing slashes', () => { - let pathname = '/dataset/urn:li:abc/Validation/Assertions/'; + let pathname = '/dataset/urn:li:abc/Quality/Assertions/'; let tabNames = ['Assertions']; let res = useGetValidationsTab(pathname, tabNames); expect(res.selectedTab).toEqual('Assertions'); - expect(res.basePath).toEqual('/dataset/urn:li:abc/Validation'); + expect(res.basePath).toEqual('/dataset/urn:li:abc/Quality'); - pathname = '/dataset/urn:li:abc/Validation/'; + pathname = '/dataset/urn:li:abc/Quality/'; tabNames = ['Assertions']; res = useGetValidationsTab(pathname, tabNames); expect(res.selectedTab).toBeUndefined(); - expect(res.basePath).toEqual('/dataset/urn:li:abc/Validation'); + expect(res.basePath).toEqual('/dataset/urn:li:abc/Quality'); }); }); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/contract/builder/DataContractBuilderModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/contract/builder/DataContractBuilderModal.tsx index 75a8fe0410918b..e678ce5c334ea8 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/contract/builder/DataContractBuilderModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Dataset/Validations/contract/builder/DataContractBuilderModal.tsx @@ -52,7 +52,7 @@ export const DataContractBuilderModal = ({ entityUrn, initialState, onSubmit, on title={{titleText}} style={modalStyle} bodyStyle={modalBodyStyle} - visible + open onCancel={onCancel} > { <> { commandName="insertImage" onClick={handleButtonClick} /> - +
    { commandName="insertLink" onClick={handleButtonClick} /> - + ); }; diff --git a/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/FloatingToolbar.tsx b/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/FloatingToolbar.tsx index 24e87853b58c7f..bcd8e44b367619 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/FloatingToolbar.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/FloatingToolbar.tsx @@ -112,7 +112,7 @@ export const FloatingToolbar = () => { )} - + ); }; diff --git a/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/LinkModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/LinkModal.tsx index 14698291575c4b..81fce2635f12ef 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/LinkModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Documentation/components/editor/toolbar/LinkModal.tsx @@ -5,12 +5,12 @@ import { useAttrs, useCommands, useEditorState, useHelpers } from '@remirror/rea import { getMarkRange } from '@remirror/core-utils'; type LinkModalProps = { - visible: boolean; + open: boolean; handleClose: () => void; }; export const LinkModal = (props: LinkModalProps) => { - const { visible, handleClose } = props; + const { open, handleClose } = props; const [trPos, setTrPos] = useState({ from: 0, to: 0 }); const [form] = Form.useForm(); @@ -22,7 +22,7 @@ export const LinkModal = (props: LinkModalProps) => { const href = (useAttrs().link()?.href as string) ?? ''; useEffect(() => { - if (visible) { + if (open) { const { from, to } = editorState.selection; const pos = getMarkRange(editorState.doc.resolve(from), 'link') || { from, to }; @@ -34,7 +34,7 @@ export const LinkModal = (props: LinkModalProps) => { setTrPos(pos); } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [visible]); + }, [open]); const handleOk = async () => { try { @@ -58,7 +58,7 @@ export const LinkModal = (props: LinkModalProps) => { }; return ( - + { const active = useActive(); const commands = useCommands(); - const menu = ( - - } - disabled={active.tableHeaderCell()} - onClick={() => commands.addTableRowBefore()} - > - Insert row above - - } onClick={() => commands.addTableRowAfter()}> - Insert row below - - } onClick={() => commands.addTableColumnBefore()}> - Insert column left - - } onClick={() => commands.addTableColumnAfter()}> - Insert column right - - - } - disabled={active.tableHeaderCell()} - onClick={() => commands.deleteTableRow()} - > - Delete row - - } onClick={() => commands.deleteTableColumn()}> - Delete column - - } onClick={() => commands.deleteTable()}> - Delete table - - - ); + const divider = { + key: 'divider', + type: 'divider', + }; + + const items = [ + { + key: 0, + label: ( + } + disabled={active.tableHeaderCell()} + onClick={() => commands.addTableRowBefore()} + > + Insert row above + + ), + }, + { + key: 1, + label: ( + } onClick={() => commands.addTableRowAfter()}> + Insert row below + + ), + }, + { + key: 2, + label: ( + } onClick={() => commands.addTableColumnBefore()}> + Insert column left + + ), + }, + { + key: 3, + label: ( + } onClick={() => commands.addTableColumnAfter()}> + Insert column right + + ), + }, + divider, + { + key: 4, + label: ( + } + disabled={active.tableHeaderCell()} + onClick={() => commands.deleteTableRow()} + > + Delete row + + ), + }, + { + key: 5, + label: ( + } onClick={() => commands.deleteTableColumn()}> + Delete column + + ), + }, + { + key: 6, + label: ( + } onClick={() => commands.deleteTable()}> + Delete table + + ), + }, + ]; return ( } placement="bottomLeft" - overlay={menu} + menu={{ items }} type="primary" /> ); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Incident/IncidentTab.tsx b/datahub-web-react/src/app/entity/shared/tabs/Incident/IncidentTab.tsx index 47627068ad4ce5..f2b03a11ffb55a 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Incident/IncidentTab.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Incident/IncidentTab.tsx @@ -87,7 +87,7 @@ export const IncidentTab = () => { setIsRaiseIncidentModalVisible(false)} /> diff --git a/datahub-web-react/src/app/entity/shared/tabs/Incident/components/AddIncidentModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Incident/components/AddIncidentModal.tsx index bb83f0f9ddaf76..fda8c9cda2d0da 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Incident/components/AddIncidentModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Incident/components/AddIncidentModal.tsx @@ -11,12 +11,12 @@ import handleGraphQLError from '../../../../../shared/handleGraphQLError'; import { useUserContext } from '../../../../../context/useUserContext'; type AddIncidentProps = { - visible: boolean; + open: boolean; onClose?: () => void; refetch?: () => Promise; }; -export const AddIncidentModal = ({ visible, onClose, refetch }: AddIncidentProps) => { +export const AddIncidentModal = ({ open, onClose, refetch }: AddIncidentProps) => { const { urn, entityType } = useEntityData(); const { user } = useUserContext(); const incidentTypes = INCIDENT_DISPLAY_TYPES; @@ -109,7 +109,7 @@ export const AddIncidentModal = ({ visible, onClose, refetch }: AddIncidentProps <> - - updateIncidentStatus(IncidentState.Active, '')} data-testid="reopen-incident"> + const items = [ + { + key: 0, + label: ( + updateIncidentStatus(IncidentState.Active, '')} + data-testid="reopen-incident" + > Reopen incident - - - - ); + + ), + }, + ]; return ( <> @@ -296,7 +294,7 @@ export default function IncidentListItem({ incident, refetch }: Props) { - + diff --git a/datahub-web-react/src/app/entity/shared/tabs/Incident/components/ResolveIncidentModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Incident/components/ResolveIncidentModal.tsx index b915ef0a76a3f9..cdc82420a73b23 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Incident/components/ResolveIncidentModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Incident/components/ResolveIncidentModal.tsx @@ -31,7 +31,7 @@ export const ResolveIncidentModal = ({ <> void; } -export function EditColumn({ propertyRow }: Props) { +export function EditColumn({ structuredProperty, associatedUrn, values, refetch }: Props) { const [isEditModalVisible, setIsEditModalVisible] = useState(false); - if (!propertyRow.structuredProperty || propertyRow.structuredProperty?.definition.immutable) { + if (!structuredProperty || structuredProperty?.definition.immutable) { return null; } @@ -21,9 +24,11 @@ export function EditColumn({ propertyRow }: Props) { setIsEditModalVisible(false)} + refetch={refetch} /> ); diff --git a/datahub-web-react/src/app/entity/shared/tabs/Properties/Edit/EditStructuredPropertyModal.tsx b/datahub-web-react/src/app/entity/shared/tabs/Properties/Edit/EditStructuredPropertyModal.tsx index 73a280031ebd09..c8def8bef5e195 100644 --- a/datahub-web-react/src/app/entity/shared/tabs/Properties/Edit/EditStructuredPropertyModal.tsx +++ b/datahub-web-react/src/app/entity/shared/tabs/Properties/Edit/EditStructuredPropertyModal.tsx @@ -1,7 +1,6 @@ import { Button, Modal, message } from 'antd'; -import React from 'react'; +import React, { useEffect, useMemo } from 'react'; import styled from 'styled-components'; -import { PropertyRow } from '../types'; import StructuredPropertyInput from '../../../components/styled/StructuredProperty/StructuredPropertyInput'; import { PropertyValueInput, StructuredPropertyEntity } from '../../../../../../types.generated'; import { useUpsertStructuredPropertiesMutation } from '../../../../../../graphql/structuredProperties.generated'; @@ -17,19 +16,33 @@ const Description = styled.div` interface Props { isOpen: boolean; - propertyRow: PropertyRow; structuredProperty: StructuredPropertyEntity; + associatedUrn?: string; + values?: (string | number | null)[]; closeModal: () => void; + refetch?: () => void; } -export default function EditStructuredPropertyModal({ isOpen, propertyRow, structuredProperty, closeModal }: Props) { - const { refetch } = useEntityContext(); - const urn = useMutationUrn(); - const initialValues = propertyRow.values?.map((v) => v.value) || []; - const { selectedValues, selectSingleValue, toggleSelectedValue, updateSelectedValues } = +export default function EditStructuredPropertyModal({ + isOpen, + structuredProperty, + associatedUrn, + values, + closeModal, + refetch, +}: Props) { + const { refetch: entityRefetch } = useEntityContext(); + const mutationUrn = useMutationUrn(); + const urn = associatedUrn || mutationUrn; + const initialValues = useMemo(() => values || [], [values]); + const { selectedValues, selectSingleValue, toggleSelectedValue, updateSelectedValues, setSelectedValues } = useEditStructuredProperty(initialValues); const [upsertStructuredProperties] = useUpsertStructuredPropertiesMutation(); + useEffect(() => { + setSelectedValues(initialValues); + }, [isOpen, initialValues, setSelectedValues]); + function upsertProperties() { message.loading('Updating...'); upsertStructuredProperties({ @@ -51,7 +64,11 @@ export default function EditStructuredPropertyModal({ isOpen, propertyRow, struc }, }) .then(() => { - refetch(); + if (refetch) { + refetch(); + } else { + entityRefetch(); + } message.destroy(); message.success('Successfully updated structured property!'); closeModal(); @@ -67,7 +84,7 @@ export default function EditStructuredPropertyModal({ isOpen, propertyRow, struc return ( { propertyTableColumns.push({ title: '', width: '10%', - render: (propertyRow: PropertyRow) => , + render: (propertyRow: PropertyRow) => ( + v.value) || []} + /> + ), } as any); } diff --git a/datahub-web-react/src/app/entity/shared/useGetEntities.ts b/datahub-web-react/src/app/entity/shared/useGetEntities.ts new file mode 100644 index 00000000000000..9391bc17d7a8a2 --- /dev/null +++ b/datahub-web-react/src/app/entity/shared/useGetEntities.ts @@ -0,0 +1,18 @@ +import { useEffect, useState } from 'react'; +import { useGetEntitiesQuery } from '../../../graphql/entity.generated'; +import { Entity } from '../../../types.generated'; + +export function useGetEntities(urns: string[]): Entity[] { + const [verifiedUrns, setVerifiedUrns] = useState([]); + + useEffect(() => { + urns.forEach((urn) => { + if (urn.startsWith('urn:li:') && !verifiedUrns.includes(urn)) { + setVerifiedUrns((prevUrns) => [...prevUrns, urn]); + } + }); + }, [urns, verifiedUrns]); + + const { data } = useGetEntitiesQuery({ variables: { urns: verifiedUrns }, skip: !verifiedUrns.length }); + return (data?.entities || []) as Entity[]; +} diff --git a/datahub-web-react/src/app/entity/user/UserEditProfileModal.tsx b/datahub-web-react/src/app/entity/user/UserEditProfileModal.tsx index d9314df7e11ae7..7096534c992940 100644 --- a/datahub-web-react/src/app/entity/user/UserEditProfileModal.tsx +++ b/datahub-web-react/src/app/entity/user/UserEditProfileModal.tsx @@ -16,7 +16,7 @@ type PropsData = { }; type Props = { - visible: boolean; + open: boolean; onClose: () => void; onSave: () => void; editModalData: PropsData; @@ -24,7 +24,7 @@ type Props = { /** Regex Validations */ export const USER_NAME_REGEX = new RegExp('^[a-zA-Z ]*$'); -export default function UserEditProfileModal({ visible, onClose, onSave, editModalData }: Props) { +export default function UserEditProfileModal({ open, onClose, onSave, editModalData }: Props) { const { config } = useAppConfig(); const { readOnlyModeEnabled } = config.featureFlags; const [updateCorpUserPropertiesMutation] = useUpdateCorpUserPropertiesMutation(); @@ -95,7 +95,7 @@ export default function UserEditProfileModal({ visible, onClose, onSave, editMod return ( diff --git a/datahub-web-react/src/app/entity/user/UserInfoSideBar.tsx b/datahub-web-react/src/app/entity/user/UserInfoSideBar.tsx index 4e3dc45489b552..8d3b1b43bad56b 100644 --- a/datahub-web-react/src/app/entity/user/UserInfoSideBar.tsx +++ b/datahub-web-react/src/app/entity/user/UserInfoSideBar.tsx @@ -174,7 +174,7 @@ export default function UserInfoSideBar({ sideBarData, refetch }: Props) { {/* Modal */} showEditProfileModal(false)} onSave={() => { refetch(); diff --git a/datahub-web-react/src/app/entity/view/builder/ViewBuilderModal.tsx b/datahub-web-react/src/app/entity/view/builder/ViewBuilderModal.tsx index a69e7e156ba9a2..ff49a9d06d1ead 100644 --- a/datahub-web-react/src/app/entity/view/builder/ViewBuilderModal.tsx +++ b/datahub-web-react/src/app/entity/view/builder/ViewBuilderModal.tsx @@ -77,7 +77,7 @@ export const ViewBuilderModal = ({ mode, urn, initialState, onSubmit, onCancel } } style={modalStyle} bodyStyle={modalBodyStyle} - visible + open width={modalWidth} onCancel={onCancel} data-testid="view-modal" diff --git a/datahub-web-react/src/app/entity/view/menu/ViewDropdownMenu.tsx b/datahub-web-react/src/app/entity/view/menu/ViewDropdownMenu.tsx index 38deb4052b7a93..f75240aba2f0d0 100644 --- a/datahub-web-react/src/app/entity/view/menu/ViewDropdownMenu.tsx +++ b/datahub-web-react/src/app/entity/view/menu/ViewDropdownMenu.tsx @@ -2,7 +2,7 @@ import React, { useState } from 'react'; import styled from 'styled-components'; import { useApolloClient } from '@apollo/client'; import { MoreOutlined } from '@ant-design/icons'; -import { Dropdown, Menu, message, Modal } from 'antd'; +import { Dropdown, message, Modal } from 'antd'; import { DataHubView, DataHubViewType } from '../../../../types.generated'; import { useUserContext } from '../../../context/useUserContext'; import { useUpdateCorpUserViewsSettingsMutation } from '../../../../graphql/user.generated'; @@ -33,17 +33,6 @@ const MenuButton = styled(MoreOutlined)` } `; -const MenuStyled = styled(Menu)` - &&& { - .ant-dropdown-menu-item:not(:hover) { - background: none; - } - .ant-dropdown-menu-item:hover { - background: #f5f5f5; - } - } -`; - const DEFAULT_VIEW_BUILDER_STATE = { mode: ViewBuilderMode.EDITOR, visible: false, @@ -240,28 +229,42 @@ export const ViewDropdownMenu = ({ const showRemoveGlobalDefaultView = canManageGlobalViews && isGlobalView && isGlobalDefault; const showSetGlobalDefaultView = canManageGlobalViews && isGlobalView && !isGlobalDefault; + const items = [ + { + key: 0, + label: (canManageView && ) || ( + + ), + }, + { + key: 1, + label: (isUserDefault && setUserDefault(null)} />) || ( + setUserDefault(view.urn)} /> + ), + }, + showRemoveGlobalDefaultView + ? { + key: 2, + label: setGlobalDefault(null)} />, + } + : null, + showSetGlobalDefaultView + ? { + key: 2, + label: setGlobalDefault(view.urn)} />, + } + : null, + canManageView + ? { + key: 3, + label: , + } + : null, + ]; + return ( <> - - {(canManageView && ) || ( - - )} - {(isUserDefault && setUserDefault(null)} />) || ( - setUserDefault(view.urn)} /> - )} - {showRemoveGlobalDefaultView && ( - setGlobalDefault(null)} /> - )} - {showSetGlobalDefaultView && ( - setGlobalDefault(view.urn)} /> - )} - {canManageView && } - - } - trigger={[trigger]} - > + {viewBuilderState.visible && ( diff --git a/datahub-web-react/src/app/entity/view/menu/item/DeleteViewItem.tsx b/datahub-web-react/src/app/entity/view/menu/item/DeleteViewItem.tsx index b8513c23ebe4fb..c6dce2c01e23c3 100644 --- a/datahub-web-react/src/app/entity/view/menu/item/DeleteViewItem.tsx +++ b/datahub-web-react/src/app/entity/view/menu/item/DeleteViewItem.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { DeleteOutlined } from '@ant-design/icons'; -import { Menu } from 'antd'; import { IconItemTitle } from './IconItemTitle'; +import { MenuItemStyle } from './styledComponent'; type Props = { key: string; @@ -13,8 +13,8 @@ type Props = { */ export const DeleteViewItem = ({ key, onClick }: Props) => { return ( - + } /> - + ); }; diff --git a/datahub-web-react/src/app/entity/view/menu/item/EditViewItem.tsx b/datahub-web-react/src/app/entity/view/menu/item/EditViewItem.tsx index 650bc239957ab6..5301f9977126d1 100644 --- a/datahub-web-react/src/app/entity/view/menu/item/EditViewItem.tsx +++ b/datahub-web-react/src/app/entity/view/menu/item/EditViewItem.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { FormOutlined } from '@ant-design/icons'; -import { Menu } from 'antd'; import { IconItemTitle } from './IconItemTitle'; +import { MenuItemStyle } from './styledComponent'; type Props = { key: string; @@ -13,8 +13,8 @@ type Props = { */ export const EditViewItem = ({ key, onClick }: Props) => { return ( - + } /> - + ); }; diff --git a/datahub-web-react/src/app/entity/view/menu/item/PreviewViewItem.tsx b/datahub-web-react/src/app/entity/view/menu/item/PreviewViewItem.tsx index 24b122feeb2354..eb64ec8101a5b0 100644 --- a/datahub-web-react/src/app/entity/view/menu/item/PreviewViewItem.tsx +++ b/datahub-web-react/src/app/entity/view/menu/item/PreviewViewItem.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { Menu } from 'antd'; import { EyeOutlined } from '@ant-design/icons'; import { IconItemTitle } from './IconItemTitle'; +import { MenuItemStyle } from './styledComponent'; type Props = { key: string; @@ -13,8 +13,8 @@ type Props = { */ export const PreviewViewItem = ({ key, onClick }: Props) => { return ( - + } /> - + ); }; diff --git a/datahub-web-react/src/app/entity/view/menu/item/RemoveGlobalDefaultItem.tsx b/datahub-web-react/src/app/entity/view/menu/item/RemoveGlobalDefaultItem.tsx index 10977fcc4470e9..0b6657892169b7 100644 --- a/datahub-web-react/src/app/entity/view/menu/item/RemoveGlobalDefaultItem.tsx +++ b/datahub-web-react/src/app/entity/view/menu/item/RemoveGlobalDefaultItem.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { StopOutlined } from '@ant-design/icons'; -import { Menu } from 'antd'; import { IconItemTitle } from './IconItemTitle'; +import { MenuItemStyle } from './styledComponent'; type Props = { key: string; @@ -13,12 +13,12 @@ type Props = { */ export const RemoveGlobalDefaultItem = ({ key, onClick }: Props) => { return ( - + } /> - + ); }; diff --git a/datahub-web-react/src/app/entity/view/menu/item/RemoveUserDefaultItem.tsx b/datahub-web-react/src/app/entity/view/menu/item/RemoveUserDefaultItem.tsx index d07d54f6b929b3..612bcd0a0a431a 100644 --- a/datahub-web-react/src/app/entity/view/menu/item/RemoveUserDefaultItem.tsx +++ b/datahub-web-react/src/app/entity/view/menu/item/RemoveUserDefaultItem.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { StopOutlined } from '@ant-design/icons'; -import { Menu } from 'antd'; import { IconItemTitle } from './IconItemTitle'; +import { MenuItemStyle } from './styledComponent'; type Props = { key: string; @@ -13,12 +13,12 @@ type Props = { */ export const RemoveUserDefaultItem = ({ key, onClick }: Props) => { return ( - + } /> - + ); }; diff --git a/datahub-web-react/src/app/entity/view/menu/item/SetGlobalDefaultItem.tsx b/datahub-web-react/src/app/entity/view/menu/item/SetGlobalDefaultItem.tsx index 7461565c22ec5a..94e1adb280c2f8 100644 --- a/datahub-web-react/src/app/entity/view/menu/item/SetGlobalDefaultItem.tsx +++ b/datahub-web-react/src/app/entity/view/menu/item/SetGlobalDefaultItem.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { Menu } from 'antd'; import { GlobalDefaultViewIcon } from '../../shared/GlobalDefaultViewIcon'; import { IconItemTitle } from './IconItemTitle'; +import { MenuItemStyle } from './styledComponent'; type Props = { key: string; @@ -13,12 +13,12 @@ type Props = { */ export const SetGlobalDefaultItem = ({ key, onClick }: Props) => { return ( - + } /> - + ); }; diff --git a/datahub-web-react/src/app/entity/view/menu/item/SetUserDefaultItem.tsx b/datahub-web-react/src/app/entity/view/menu/item/SetUserDefaultItem.tsx index 3149f06294c009..4eea8e5c2c65c1 100644 --- a/datahub-web-react/src/app/entity/view/menu/item/SetUserDefaultItem.tsx +++ b/datahub-web-react/src/app/entity/view/menu/item/SetUserDefaultItem.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { Menu } from 'antd'; import { UserDefaultViewIcon } from '../../shared/UserDefaultViewIcon'; import { IconItemTitle } from './IconItemTitle'; +import { MenuItemStyle } from './styledComponent'; type Props = { key: string; @@ -13,12 +13,12 @@ type Props = { */ export const SetUserDefaultItem = ({ key, onClick }: Props) => { return ( - + } /> - + ); }; diff --git a/datahub-web-react/src/app/entity/view/menu/item/styledComponent.ts b/datahub-web-react/src/app/entity/view/menu/item/styledComponent.ts new file mode 100644 index 00000000000000..7534dd391c4726 --- /dev/null +++ b/datahub-web-react/src/app/entity/view/menu/item/styledComponent.ts @@ -0,0 +1,11 @@ +import MenuItem from 'antd/lib/menu/MenuItem'; +import styled from 'styled-components'; + +export const MenuItemStyle = styled(MenuItem)` + &&&& { + background-color: transparent; + a { + color: inherit; + } + } +`; diff --git a/datahub-web-react/src/app/home/AcrylDemoBanner.tsx b/datahub-web-react/src/app/home/AcrylDemoBanner.tsx index 0a85c0c3d7f6c2..debcaab879ba94 100644 --- a/datahub-web-react/src/app/home/AcrylDemoBanner.tsx +++ b/datahub-web-react/src/app/home/AcrylDemoBanner.tsx @@ -42,7 +42,7 @@ export default function AcrylDemoBanner() { - Schedule a Demo of Managed DataHub + Schedule a Demo of DataHub Cloud DataHub is already the industry's #1 Open Source Data Catalog.{' '} Schedule a demo {' '} - of Acryl DataHub to see the advanced features that take it to the next level or purchase Acryl Cloud - on{' '} + of DataHub Cloud to see the advanced features that take it to the next level or purchase DataHub + Cloud on{' '} ; + return ; } diff --git a/datahub-web-react/src/app/identity/group/CreateGroupModal.tsx b/datahub-web-react/src/app/identity/group/CreateGroupModal.tsx index 4ba714ca23ae06..b24fc8f17b49fc 100644 --- a/datahub-web-react/src/app/identity/group/CreateGroupModal.tsx +++ b/datahub-web-react/src/app/identity/group/CreateGroupModal.tsx @@ -89,7 +89,7 @@ export default function CreateGroupModal({ onClose, onCreate }: Props) { diff --git a/datahub-web-react/src/app/identity/group/SelectRoleGroup.tsx b/datahub-web-react/src/app/identity/group/SelectRoleGroup.tsx index 22c7a4bfb0364d..0e68c4e25af90d 100644 --- a/datahub-web-react/src/app/identity/group/SelectRoleGroup.tsx +++ b/datahub-web-react/src/app/identity/group/SelectRoleGroup.tsx @@ -90,7 +90,7 @@ export default function SelectRoleGroup({ group, groupRoleUrn, selectRoleOptions {selectOptions} void; }; -export default function AssignRoleConfirmation({ - visible, - roleToAssign, - userUrn, - username, - onClose, - onConfirm, -}: Props) { +export default function AssignRoleConfirmation({ open, roleToAssign, userUrn, username, onClose, onConfirm }: Props) { const [batchAssignRoleMutation] = useBatchAssignRoleMutation(); // eslint-disable-next-line const batchAssignRole = () => { @@ -63,5 +56,5 @@ export default function AssignRoleConfirmation({ ? `Would you like to assign the role ${roleToAssign?.name} to ${username}?` : `Would you like to remove ${username}'s existing role?`; - return ; + return ; } diff --git a/datahub-web-react/src/app/identity/user/SelectRole.tsx b/datahub-web-react/src/app/identity/user/SelectRole.tsx index deaa85f14b0883..7e9acb08ed0bcb 100644 --- a/datahub-web-react/src/app/identity/user/SelectRole.tsx +++ b/datahub-web-react/src/app/identity/user/SelectRole.tsx @@ -90,7 +90,7 @@ export default function SelectRole({ user, userRoleUrn, selectRoleOptions, refet {selectOptions} { /> {canManagePolicies && ( - setIsViewingInviteToken(false)} - /> + setIsViewingInviteToken(false)} /> )} diff --git a/datahub-web-react/src/app/identity/user/UserListItem.tsx b/datahub-web-react/src/app/identity/user/UserListItem.tsx index ff349664d7628e..486646c05bd6b2 100644 --- a/datahub-web-react/src/app/identity/user/UserListItem.tsx +++ b/datahub-web-react/src/app/identity/user/UserListItem.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import styled from 'styled-components/macro'; -import { Dropdown, List, Menu, Tag, Tooltip, Typography } from 'antd'; +import { Dropdown, List, Tag, Tooltip, Typography } from 'antd'; import { Link } from 'react-router-dom'; import { DeleteOutlined, MoreOutlined, UnlockOutlined } from '@ant-design/icons'; import { CorpUser, CorpUserStatus, EntityType, DataHubRole } from '../../../types.generated'; @@ -11,6 +11,7 @@ import ViewResetTokenModal from './ViewResetTokenModal'; import useDeleteEntity from '../../entity/shared/EntityDropdown/useDeleteEntity'; import SelectRole from './SelectRole'; import { USERS_ASSIGN_ROLE_ID } from '../../onboarding/config/UsersOnboardingConfig'; +import { MenuItemStyle } from '../../entity/view/menu/item/styledComponent'; type Props = { user: CorpUser; @@ -84,6 +85,29 @@ export default function UserListItem({ user, canManageUserCredentials, selectRol const userStatusToolTip = userStatus && getUserStatusToolTip(userStatus); const userStatusColor = userStatus && getUserStatusColor(userStatus); + const items = [ + { + key: 'reset', + label: ( + setIsViewingResetToken(true)} + data-testid="reset-menu-item" + > +   Reset user password + + ), + }, + { + key: 'delete', + label: ( + +  Delete + + ), + }, + ]; + return ( @@ -117,23 +141,7 @@ export default function UserListItem({ user, canManageUserCredentials, selectRol selectRoleOptions={selectRoleOptions} refetch={refetch} /> - - setIsViewingResetToken(true)} - data-testid="reset-menu-item" - > -   Reset user password - - -  Delete - - - } - > + setIsViewingResetToken(false)} diff --git a/datahub-web-react/src/app/identity/user/ViewInviteTokenModal.tsx b/datahub-web-react/src/app/identity/user/ViewInviteTokenModal.tsx index b823d7bace5499..4f4d2d5b8c69ea 100644 --- a/datahub-web-react/src/app/identity/user/ViewInviteTokenModal.tsx +++ b/datahub-web-react/src/app/identity/user/ViewInviteTokenModal.tsx @@ -65,11 +65,11 @@ const RoleIcon = styled.span` `; type Props = { - visible: boolean; + open: boolean; onClose: () => void; }; -export default function ViewInviteTokenModal({ visible, onClose }: Props) { +export default function ViewInviteTokenModal({ open, onClose }: Props) { const baseUrl = window.location.origin; const location = useLocation(); const params = QueryString.parse(location.search, { arrayFormat: 'comma' }); @@ -110,7 +110,7 @@ export default function ViewInviteTokenModal({ visible, onClose }: Props) { // Code related to getting or creating an invite token const { data: getInviteTokenData } = useGetInviteTokenQuery({ - skip: !visible, + skip: !open, variables: { input: { roleUrn: selectedRole?.urn } }, }); @@ -167,7 +167,7 @@ export default function ViewInviteTokenModal({ visible, onClose }: Props) { Share Invite Link } - visible={visible} + open={open} onCancel={onClose} > diff --git a/datahub-web-react/src/app/identity/user/ViewResetTokenModal.tsx b/datahub-web-react/src/app/identity/user/ViewResetTokenModal.tsx index 42754c4c4d3621..4711040bf8f5ec 100644 --- a/datahub-web-react/src/app/identity/user/ViewResetTokenModal.tsx +++ b/datahub-web-react/src/app/identity/user/ViewResetTokenModal.tsx @@ -34,13 +34,13 @@ const CreateResetTokenButton = styled(Button)` `; type Props = { - visible: boolean; + open: boolean; userUrn: string; username: string; onClose: () => void; }; -export default function ViewResetTokenModal({ visible, userUrn, username, onClose }: Props) { +export default function ViewResetTokenModal({ open, userUrn, username, onClose }: Props) { const baseUrl = window.location.origin; const [hasGeneratedResetToken, setHasGeneratedResetToken] = useState(false); @@ -87,7 +87,7 @@ export default function ViewResetTokenModal({ visible, userUrn, username, onClos Reset User Password } - visible={visible} + open={open} onCancel={onClose} > {hasGeneratedResetToken ? ( diff --git a/datahub-web-react/src/app/ingest/ManageIngestionPage.tsx b/datahub-web-react/src/app/ingest/ManageIngestionPage.tsx index 6af924be99a6a0..5085a20b9b2bba 100644 --- a/datahub-web-react/src/app/ingest/ManageIngestionPage.tsx +++ b/datahub-web-react/src/app/ingest/ManageIngestionPage.tsx @@ -1,5 +1,5 @@ import { Tabs, Typography } from 'antd'; -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import styled from 'styled-components'; import { IngestionSourceList } from './source/IngestionSourceList'; import { useAppConfig } from '../useAppConfig'; @@ -51,12 +51,18 @@ export const ManageIngestionPage = () => { * Determines which view should be visible: ingestion sources or secrets. */ const me = useUserContext(); - const { config } = useAppConfig(); + const { config, loaded } = useAppConfig(); const isIngestionEnabled = config?.managedIngestionConfig.enabled; const showIngestionTab = isIngestionEnabled && me && me.platformPrivileges?.manageIngestion; const showSecretsTab = isIngestionEnabled && me && me.platformPrivileges?.manageSecrets; - const defaultTab = showIngestionTab ? TabType.Sources : TabType.Secrets; - const [selectedTab, setSelectedTab] = useState(defaultTab); + const [selectedTab, setSelectedTab] = useState(TabType.Sources); + + // defaultTab might not be calculated correctly on mount, if `config` or `me` haven't been loaded yet + useEffect(() => { + if (loaded && me.loaded && !showIngestionTab && selectedTab === TabType.Sources) { + setSelectedTab(TabType.Secrets); + } + }, [loaded, me.loaded, showIngestionTab, selectedTab]); const onClickTab = (newTab: string) => { setSelectedTab(TabType[newTab]); diff --git a/datahub-web-react/src/app/ingest/secret/SecretBuilderModal.tsx b/datahub-web-react/src/app/ingest/secret/SecretBuilderModal.tsx index 2d20ac77891ea0..8f42505e5e07ae 100644 --- a/datahub-web-react/src/app/ingest/secret/SecretBuilderModal.tsx +++ b/datahub-web-react/src/app/ingest/secret/SecretBuilderModal.tsx @@ -10,13 +10,13 @@ const VALUE_FIELD_NAME = 'value'; type Props = { initialState?: SecretBuilderState; editSecret?: SecretBuilderState; - visible: boolean; + open: boolean; onSubmit?: (source: SecretBuilderState, resetState: () => void) => void; onUpdate?: (source: SecretBuilderState, resetState: () => void) => void; onCancel?: () => void; }; -export const SecretBuilderModal = ({ initialState, editSecret, visible, onSubmit, onUpdate, onCancel }: Props) => { +export const SecretBuilderModal = ({ initialState, editSecret, open, onSubmit, onUpdate, onCancel }: Props) => { const [createButtonEnabled, setCreateButtonEnabled] = useState(false); const [form] = Form.useForm(); @@ -52,7 +52,7 @@ export const SecretBuilderModal = ({ initialState, editSecret, visible, onSubmit {titleText}} - visible={visible} + open={open} onCancel={onCloseModal} zIndex={1051} // one higher than other modals - needed for managed ingestion forms footer={ diff --git a/datahub-web-react/src/app/ingest/secret/SecretsList.tsx b/datahub-web-react/src/app/ingest/secret/SecretsList.tsx index 472dbf7f849dee..145bf3dd029fbc 100644 --- a/datahub-web-react/src/app/ingest/secret/SecretsList.tsx +++ b/datahub-web-react/src/app/ingest/secret/SecretsList.tsx @@ -294,7 +294,7 @@ export const SecretsList = () => { { {isViewingRecipe && } {focusExecutionUrn && ( - setFocusExecutionUrn(undefined)} - /> + setFocusExecutionUrn(undefined)} /> )} ); diff --git a/datahub-web-react/src/app/ingest/source/IngestionSourceTableColumns.tsx b/datahub-web-react/src/app/ingest/source/IngestionSourceTableColumns.tsx index 155e75f1895f53..4b7fb472226172 100644 --- a/datahub-web-react/src/app/ingest/source/IngestionSourceTableColumns.tsx +++ b/datahub-web-react/src/app/ingest/source/IngestionSourceTableColumns.tsx @@ -106,7 +106,13 @@ export function LastExecutionColumn(time: any) { } export function ScheduleColumn(schedule: any, record: any) { - const tooltip = schedule && `Runs ${cronstrue.toString(schedule).toLowerCase()} (${record.timezone})`; + let tooltip: string; + try { + tooltip = schedule && `Runs ${cronstrue.toString(schedule).toLowerCase()} (${record.timezone})`; + } catch (e) { + tooltip = 'Invalid cron schedule'; + console.debug('Error parsing cron schedule', e); + } return ( {schedule || 'None'} diff --git a/datahub-web-react/src/app/ingest/source/RecipeViewerModal.tsx b/datahub-web-react/src/app/ingest/source/RecipeViewerModal.tsx index 99c93d2a174fc3..f08747e757e581 100644 --- a/datahub-web-react/src/app/ingest/source/RecipeViewerModal.tsx +++ b/datahub-web-react/src/app/ingest/source/RecipeViewerModal.tsx @@ -18,7 +18,7 @@ function RecipeViewerModal({ recipe, onCancel }: Props) { return ( void, shouldRun?: boolean) => void; onCancel?: () => void; }; -export const IngestionSourceBuilderModal = ({ initialState, visible, onSubmit, onCancel }: Props) => { +export const IngestionSourceBuilderModal = ({ initialState, open, onSubmit, onCancel }: Props) => { const isEditing = initialState !== undefined; const titleText = isEditing ? 'Edit Data Source' : 'Connect Data Source'; const initialStep = isEditing @@ -139,7 +139,7 @@ export const IngestionSourceBuilderModal = ({ initialState, visible, onSubmit, o } style={{ top: 40 }} bodyStyle={modalBodyStyle} - visible={visible} + open={open} onCancel={onCancel} > {currentStepIndex > 0 ? ( diff --git a/datahub-web-react/src/app/ingest/source/builder/RecipeForm/SecretField/CreateSecretButton.tsx b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/SecretField/CreateSecretButton.tsx index 8561805e6270cf..b5788c3ecb116a 100644 --- a/datahub-web-react/src/app/ingest/source/builder/RecipeForm/SecretField/CreateSecretButton.tsx +++ b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/SecretField/CreateSecretButton.tsx @@ -64,7 +64,7 @@ function CreateSecretButton({ initialState, onSubmit, refetchSecrets }: Props) { {isCreateModalVisible && ( setIsCreateModalVisible(false)} onSubmit={createSecret} /> diff --git a/datahub-web-react/src/app/ingest/source/builder/RecipeForm/TestConnection/TestConnectionModal.tsx b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/TestConnection/TestConnectionModal.tsx index 3528c5d7fa50c7..3a0bc47fa7d262 100644 --- a/datahub-web-react/src/app/ingest/source/builder/RecipeForm/TestConnection/TestConnectionModal.tsx +++ b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/TestConnection/TestConnectionModal.tsx @@ -101,7 +101,7 @@ function TestConnectionModal({ return ( Done} title={ diff --git a/datahub-web-react/src/app/ingest/source/builder/RecipeForm/constants.ts b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/constants.ts index 6a5e6c9de2b96b..b6d076cf6da026 100644 --- a/datahub-web-react/src/app/ingest/source/builder/RecipeForm/constants.ts +++ b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/constants.ts @@ -83,7 +83,7 @@ import { PROJECT_NAME, } from './lookml'; import { PRESTO, PRESTO_HOST_PORT, PRESTO_DATABASE, PRESTO_USERNAME, PRESTO_PASSWORD } from './presto'; -import { AZURE, BIGQUERY_BETA, CSV, DBT_CLOUD, MYSQL, OKTA, POWER_BI, UNITY_CATALOG, VERTICA } from '../constants'; +import { AZURE, BIGQUERY_BETA, CSV, DBT_CLOUD, MYSQL, OKTA, POWER_BI, SAC, UNITY_CATALOG, VERTICA } from '../constants'; import { BIGQUERY_BETA_PROJECT_ID, DATASET_ALLOW, DATASET_DENY, PROJECT_ALLOW, PROJECT_DENY } from './bigqueryBeta'; import { MYSQL_HOST_PORT, MYSQL_PASSWORD, MYSQL_USERNAME } from './mysql'; import { MSSQL, MSSQL_DATABASE, MSSQL_HOST_PORT, MSSQL_PASSWORD, MSSQL_USERNAME } from './mssql'; @@ -171,6 +171,20 @@ import { USER_ALLOW, USER_DENY, } from './azure'; +import { + SAC_TENANT_URL, + SAC_TOKEN_URL, + SAC_CLIENT_ID, + SAC_CLIENT_SECRET, + INGEST_STORIES, + INGEST_APPLICATIONS, + RESOURCE_ID_ALLOW, + RESOURCE_ID_DENY, + RESOURCE_NAME_ALLOW, + RESOURCE_NAME_DENY, + FOLDER_ALLOW, + FOLDER_DENY, +} from './sac'; export enum RecipeSections { Connection = 0, @@ -519,8 +533,29 @@ export const RECIPE_FIELDS: RecipeFields = { filterFields: [GROUP_ALLOW, GROUP_DENY, USER_ALLOW, USER_DENY], advancedFields: [AZURE_INGEST_USERS, AZURE_INGEST_GROUPS, STATEFUL_INGESTION_ENABLED, SKIP_USERS_WITHOUT_GROUP], }, + [SAC]: { + fields: [SAC_TENANT_URL, SAC_TOKEN_URL, SAC_CLIENT_ID, SAC_CLIENT_SECRET], + filterFields: [ + INGEST_STORIES, + INGEST_APPLICATIONS, + RESOURCE_ID_ALLOW, + RESOURCE_ID_DENY, + RESOURCE_NAME_ALLOW, + RESOURCE_NAME_DENY, + FOLDER_ALLOW, + FOLDER_DENY, + ], + advancedFields: [STATEFUL_INGESTION_ENABLED], + }, }; export const CONNECTORS_WITH_FORM = new Set(Object.keys(RECIPE_FIELDS)); -export const CONNECTORS_WITH_TEST_CONNECTION = new Set([SNOWFLAKE, LOOKER, BIGQUERY_BETA, BIGQUERY, UNITY_CATALOG]); +export const CONNECTORS_WITH_TEST_CONNECTION = new Set([ + SNOWFLAKE, + LOOKER, + BIGQUERY_BETA, + BIGQUERY, + UNITY_CATALOG, + SAC, +]); diff --git a/datahub-web-react/src/app/ingest/source/builder/RecipeForm/sac.ts b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/sac.ts new file mode 100644 index 00000000000000..3f5c6d0b09a33e --- /dev/null +++ b/datahub-web-react/src/app/ingest/source/builder/RecipeForm/sac.ts @@ -0,0 +1,161 @@ +import { RecipeField, FieldType, setListValuesOnRecipe } from './common'; + +export const SAC_TENANT_URL: RecipeField = { + name: 'tenant_url', + label: 'Tenant URL', + tooltip: 'The URL of the SAP Analytics Cloud tenant.', + type: FieldType.TEXT, + fieldPath: 'source.config.tenant_url', + placeholder: 'https://company.eu10.sapanalytics.cloud', + required: true, + rules: null, +}; + +export const SAC_TOKEN_URL: RecipeField = { + name: 'token_url', + label: 'Token URL', + tooltip: 'The OAuth 2.0 Token Service URL.', + type: FieldType.TEXT, + fieldPath: 'source.config.token_url', + placeholder: 'https://company.eu10.hana.ondemand.com/oauth/token', + required: true, + rules: null, +}; + +export const SAC_CLIENT_ID: RecipeField = { + name: 'client_id', + label: 'Client ID', + tooltip: 'Client ID.', + type: FieldType.SECRET, + fieldPath: 'source.config.client_id', + placeholder: 'client_id', + required: true, + rules: null, +}; + +export const SAC_CLIENT_SECRET: RecipeField = { + name: 'client_secret', + label: 'Client Secret', + tooltip: 'Client Secret.', + type: FieldType.SECRET, + fieldPath: 'source.config.client_secret', + placeholder: 'client_secret', + required: true, + rules: null, +}; + +export const INGEST_STORIES: RecipeField = { + name: 'ingest_stories', + label: 'Ingest Stories', + tooltip: 'Whether stories should be ingested into DataHub.', + type: FieldType.BOOLEAN, + fieldPath: 'source.config.ingest_stories', + rules: null, + section: 'Stories and Applications', +}; + +export const INGEST_APPLICATIONS: RecipeField = { + name: 'ingest_applications', + label: 'Ingest Applications', + tooltip: 'Whether applications should be ingested into DataHub.', + type: FieldType.BOOLEAN, + fieldPath: 'source.config.ingest_applications', + rules: null, + section: 'Stories and Applications', +}; + +const resourceIdAllowFieldPath = 'source.config.resource_id_pattern.allow'; +export const RESOURCE_ID_ALLOW: RecipeField = { + name: 'resource_id_pattern.allow', + label: 'Resource Id Allow Patterns', + tooltip: + 'Only include specific Stories and Applications by providing the id of the ressource, or a Regular Expression (REGEX). If not provided, all Stories and Applications will be included.', + type: FieldType.LIST, + buttonLabel: 'Add pattern', + fieldPath: resourceIdAllowFieldPath, + rules: null, + section: 'Stories and Applications', + placeholder: 'LXTH4JCE36EOYLU41PIINLYPU9XRYM26', + setValueOnRecipeOverride: (recipe: any, values: string[]) => + setListValuesOnRecipe(recipe, values, resourceIdAllowFieldPath), +}; + +const resourceIdDenyFieldPath = 'source.config.resource_id_pattern.deny'; +export const RESOURCE_ID_DENY: RecipeField = { + name: 'resource_id_pattern.deny', + label: 'Resource Id Deny Patterns', + tooltip: + 'Exclude specific Stories and Applications by providing the id of the resource, or a Regular Expression (REGEX). If not provided, all Stories and Applications will be included. Deny patterns always take precendence over Allow patterns.', + type: FieldType.LIST, + buttonLabel: 'Add pattern', + fieldPath: resourceIdDenyFieldPath, + rules: null, + section: 'Stories and Applications', + placeholder: 'LXTH4JCE36EOYLU41PIINLYPU9XRYM26', + setValueOnRecipeOverride: (recipe: any, values: string[]) => + setListValuesOnRecipe(recipe, values, resourceIdDenyFieldPath), +}; + +const resourceNameAllowFieldPath = 'source.config.resource_id_pattern.allow'; +export const RESOURCE_NAME_ALLOW: RecipeField = { + name: 'resource_name_pattern.allow', + label: 'Resource Name Allow Patterns', + tooltip: + 'Only include specific Stories and Applications by providing the name of the ressource, or a Regular Expression (REGEX). If not provided, all Stories and Applications will be included.', + type: FieldType.LIST, + buttonLabel: 'Add pattern', + fieldPath: resourceNameAllowFieldPath, + rules: null, + section: 'Stories and Applications', + placeholder: 'Name of the story', + setValueOnRecipeOverride: (recipe: any, values: string[]) => + setListValuesOnRecipe(recipe, values, resourceNameAllowFieldPath), +}; + +const resourceNameDenyFieldPath = 'source.config.resource_name_pattern.deny'; +export const RESOURCE_NAME_DENY: RecipeField = { + name: 'resource_name_pattern.deny', + label: 'Resource Name Deny Patterns', + tooltip: + 'Exclude specific Stories and Applications by providing the name of the resource, or a Regular Expression (REGEX). If not provided, all Stories and Applications will be included. Deny patterns always take precendence over Allow patterns.', + type: FieldType.LIST, + buttonLabel: 'Add pattern', + fieldPath: resourceNameDenyFieldPath, + rules: null, + section: 'Stories and Applications', + placeholder: 'Name of the story', + setValueOnRecipeOverride: (recipe: any, values: string[]) => + setListValuesOnRecipe(recipe, values, resourceNameDenyFieldPath), +}; + +const folderAllowFieldPath = 'source.config.resource_id_pattern.allow'; +export const FOLDER_ALLOW: RecipeField = { + name: 'folder_pattern.allow', + label: 'Folder Allow Patterns', + tooltip: + 'Only include specific Stories and Applications by providing the folder containing the resources, or a Regular Expression (REGEX). If not provided, all Stories and Applications will be included.', + type: FieldType.LIST, + buttonLabel: 'Add pattern', + fieldPath: folderAllowFieldPath, + rules: null, + section: 'Stories and Applications', + placeholder: 'Folder of the story', + setValueOnRecipeOverride: (recipe: any, values: string[]) => + setListValuesOnRecipe(recipe, values, folderAllowFieldPath), +}; + +const folderDenyFieldPath = 'source.config.folder_pattern.deny'; +export const FOLDER_DENY: RecipeField = { + name: 'folder_pattern.deny', + label: 'Folder Deny Patterns', + tooltip: + 'Exclude specific Stories and Applications by providing the folder containing the resources, or a Regular Expression (REGEX). If not provided, all Stories and Applications will be included. Deny patterns always take precendence over Allow patterns.', + type: FieldType.LIST, + buttonLabel: 'Add pattern', + fieldPath: folderDenyFieldPath, + rules: null, + section: 'Stories and Applications', + placeholder: 'Folder of the story', + setValueOnRecipeOverride: (recipe: any, values: string[]) => + setListValuesOnRecipe(recipe, values, folderDenyFieldPath), +}; diff --git a/datahub-web-react/src/app/ingest/source/builder/SelectTemplateStep.tsx b/datahub-web-react/src/app/ingest/source/builder/SelectTemplateStep.tsx index 3998915e07a2ce..e014cdcc8e2240 100644 --- a/datahub-web-react/src/app/ingest/source/builder/SelectTemplateStep.tsx +++ b/datahub-web-react/src/app/ingest/source/builder/SelectTemplateStep.tsx @@ -104,6 +104,18 @@ export const SelectTemplateStep = ({ state, updateState, goTo, cancel, ingestion source.name.toLocaleLowerCase().includes(searchFilter.toLocaleLowerCase()), ); + filteredSources.sort((a, b) => { + if (a.name === 'custom') { + return 1; + } + + if (b.name === 'custom') { + return -1; + } + + return a.displayName.localeCompare(b.displayName); + }); + return (
    diff --git a/datahub-web-react/src/app/ingest/source/builder/constants.ts b/datahub-web-react/src/app/ingest/source/builder/constants.ts index d90faa91b85a26..b67ca388c10546 100644 --- a/datahub-web-react/src/app/ingest/source/builder/constants.ts +++ b/datahub-web-react/src/app/ingest/source/builder/constants.ts @@ -34,6 +34,7 @@ import fivetranLogo from '../../../../images/fivetranlogo.png'; import csvLogo from '../../../../images/csv-logo.png'; import qlikLogo from '../../../../images/qliklogo.png'; import sigmaLogo from '../../../../images/sigmalogo.png'; +import sacLogo from '../../../../images/saclogo.svg'; export const ATHENA = 'athena'; export const ATHENA_URN = `urn:li:dataPlatform:${ATHENA}`; @@ -122,6 +123,8 @@ export const QLIK_SENSE = 'qlik-sense'; export const QLIK_SENSE_URN = `urn:li:dataPlatform:${QLIK_SENSE}`; export const SIGMA = 'sigma'; export const SIGMA_URN = `urn:li:dataPlatform:${SIGMA}`; +export const SAC = 'sac'; +export const SAC_URN = `urn:li:dataPlatform:${SAC}`; export const PLATFORM_URN_TO_LOGO = { [ATHENA_URN]: athenaLogo, @@ -161,6 +164,7 @@ export const PLATFORM_URN_TO_LOGO = { [CSV_URN]: csvLogo, [QLIK_SENSE_URN]: qlikLogo, [SIGMA_URN]: sigmaLogo, + [SAC_URN]: sacLogo, }; export const SOURCE_TO_PLATFORM_URN = { diff --git a/datahub-web-react/src/app/ingest/source/builder/sources.json b/datahub-web-react/src/app/ingest/source/builder/sources.json index c35a7a033a8ab3..bb1c1a10ea6e5f 100644 --- a/datahub-web-react/src/app/ingest/source/builder/sources.json +++ b/datahub-web-react/src/app/ingest/source/builder/sources.json @@ -287,6 +287,14 @@ "docsUrl": "https://datahubproject.io/docs/generated/ingestion/sources/csv'", "recipe": "source: \n type: csv-enricher \n config: \n # URL of your csv file to ingest \n filename: \n array_delimiter: '|' \n delimiter: ',' \n write_semantics: PATCH" }, + { + "urn": "urn:li:dataPlatform:sac", + "name": "sac", + "displayName": "SAP Analytics Cloud", + "description": "Import Stories, Applications and Models from SAP Analytics Cloud.", + "docsUrl": "https://datahubproject.io/docs/generated/ingestion/sources/sac/", + "recipe": "source:\n type: sac\n config:\n tenant_url: # Your SAP Analytics Cloud tenant URL, e.g. https://company.eu10.sapanalytics.cloud or https://company.eu10.hcs.cloud.sap\n token_url: # The Token URL of your SAP Analytics Cloud tenant, e.g. https://company.eu10.hana.ondemand.com/oauth/token.\n\n # Add secret in Secrets Tab with relevant names for each variable\n client_id: \"${SAC_CLIENT_ID}\" # Your SAP Analytics Cloud client id\n client_secret: \"${SAC_CLIENT_SECRET}\" # Your SAP Analytics Cloud client secret" + }, { "urn": "urn:li:dataPlatform:custom", "name": "custom", diff --git a/datahub-web-react/src/app/ingest/source/conf/sac/sac.ts b/datahub-web-react/src/app/ingest/source/conf/sac/sac.ts new file mode 100644 index 00000000000000..e8a3b1f67866af --- /dev/null +++ b/datahub-web-react/src/app/ingest/source/conf/sac/sac.ts @@ -0,0 +1,26 @@ +import { SourceConfig } from '../types'; +import sacLogo from '../../../../../images/saclogo.svg'; + +const placeholderRecipe = `\ +source: + type: sac + config: + tenant_url: # Your SAP Analytics Cloud tenant URL, e.g. https://company.eu10.sapanalytics.cloud or https://company.eu10.hcs.cloud.sap + token_url: # The Token URL of your SAP Analytics Cloud tenant, e.g. https://company.eu10.hana.ondemand.com/oauth/token. + + # Add secret in Secrets Tab with relevant names for each variable + client_id: "\${SAC_CLIENT_ID}" # Your SAP Analytics Cloud client id + client_secret: "\${SAC_CLIENT_SECRET}" # Your SAP Analytics Cloud client secret +`; + +export const SAC = 'sac'; + +const sacConfig: SourceConfig = { + type: SAC, + placeholderRecipe, + displayName: 'SAP Analytics Cloud', + docsUrl: 'https://datahubproject.io/docs/generated/ingestion/sources/sac/', + logoUrl: sacLogo, +}; + +export default sacConfig; diff --git a/datahub-web-react/src/app/ingest/source/conf/sources.tsx b/datahub-web-react/src/app/ingest/source/conf/sources.tsx index 4dbeeb5c975e9d..66644cd14ddd5e 100644 --- a/datahub-web-react/src/app/ingest/source/conf/sources.tsx +++ b/datahub-web-react/src/app/ingest/source/conf/sources.tsx @@ -17,6 +17,7 @@ import hiveConfig from './hive/hive'; import oracleConfig from './oracle/oracle'; import tableauConfig from './tableau/tableau'; import csvConfig from './csv/csv'; +import sacConfig from './sac/sac'; const baseUrl = window.location.origin; @@ -48,6 +49,7 @@ export const SOURCE_TEMPLATE_CONFIGS: Array = [ oracleConfig, hiveConfig, csvConfig, + sacConfig, { type: 'custom', placeholderRecipe: DEFAULT_PLACEHOLDER_RECIPE, diff --git a/datahub-web-react/src/app/ingest/source/executions/ExecutionRequestDetailsModal.tsx b/datahub-web-react/src/app/ingest/source/executions/ExecutionRequestDetailsModal.tsx index 6711f0ad12b03c..c8d41888867507 100644 --- a/datahub-web-react/src/app/ingest/source/executions/ExecutionRequestDetailsModal.tsx +++ b/datahub-web-react/src/app/ingest/source/executions/ExecutionRequestDetailsModal.tsx @@ -113,11 +113,11 @@ type DetailsContainerProps = { type Props = { urn: string; - visible: boolean; + open: boolean; onClose: () => void; }; -export const ExecutionDetailsModal = ({ urn, visible, onClose }: Props) => { +export const ExecutionDetailsModal = ({ urn, open, onClose }: Props) => { const [showExpandedLogs, setShowExpandedLogs] = useState(false); const [showExpandedRecipe, setShowExpandedRecipe] = useState(false); @@ -178,7 +178,7 @@ export const ExecutionDetailsModal = ({ urn, visible, onClose }: Props) => { Sync Details } - visible={visible} + open={open} onCancel={onClose} > {!data && loading && } diff --git a/datahub-web-react/src/app/ingest/source/executions/IngestionSourceExecutionList.tsx b/datahub-web-react/src/app/ingest/source/executions/IngestionSourceExecutionList.tsx index 6a75ddb3200c87..9c40a3334df174 100644 --- a/datahub-web-react/src/app/ingest/source/executions/IngestionSourceExecutionList.tsx +++ b/datahub-web-react/src/app/ingest/source/executions/IngestionSourceExecutionList.tsx @@ -172,7 +172,7 @@ export const IngestionSourceExecutionList = ({ urn, isExpanded, lastRefresh, onR {focusExecutionUrn && ( setFocusExecutionUrn(undefined)} /> )} diff --git a/datahub-web-react/src/app/lineage/LineageExplorer.tsx b/datahub-web-react/src/app/lineage/LineageExplorer.tsx index 26ffaa26a6ca22..6d5815afe7d308 100644 --- a/datahub-web-react/src/app/lineage/LineageExplorer.tsx +++ b/datahub-web-react/src/app/lineage/LineageExplorer.tsx @@ -210,7 +210,7 @@ export default function LineageExplorer({ urn, type }: Props) { placement="left" closable={false} onClose={handleClose} - visible={isDrawerVisible} + open={isDrawerVisible} width={490} bodyStyle={{ overflowX: 'hidden' }} mask={false} @@ -221,7 +221,9 @@ export default function LineageExplorer({ urn, type }: Props) { Close {selectedEntity.type !== EntityType.Restricted && ( - )} diff --git a/datahub-web-react/src/app/lineage/manage/ManageLineageMenu.tsx b/datahub-web-react/src/app/lineage/manage/ManageLineageMenu.tsx index 3c329b1784fc49..b321075fdef81d 100644 --- a/datahub-web-react/src/app/lineage/manage/ManageLineageMenu.tsx +++ b/datahub-web-react/src/app/lineage/manage/ManageLineageMenu.tsx @@ -1,5 +1,5 @@ import { ArrowDownOutlined, ArrowUpOutlined, MoreOutlined } from '@ant-design/icons'; -import { Dropdown, Menu, Popover, Tooltip } from 'antd'; +import { Dropdown, Popover, Tooltip } from 'antd'; import React, { useState } from 'react'; import styled from 'styled-components'; import FocusIcon from '../../../images/focus.svg'; @@ -7,6 +7,7 @@ import { Direction, UpdatedLineages } from '../types'; import { EntityType } from '../../../types.generated'; import ManageLineageModal from './ManageLineageModal'; import { ENTITY_TYPES_WITH_MANUAL_LINEAGE } from '../../entity/shared/constants'; +import { MenuItemStyle } from '../../entity/view/menu/item/styledComponent'; const DROPDOWN_Z_INDEX = 1; const POPOVER_Z_INDEX = 2; @@ -21,13 +22,7 @@ const UnderlineWrapper = styled.span` cursor: pointer; `; -const StyledMenuItem = styled(Menu.Item)` - padding: 0; -`; - -const MenuItemContent = styled.div` - padding: 5px 12px; -`; +const MenuItemContent = styled.div``; function PopoverContent({ centerEntity, direction }: { centerEntity?: () => void; direction: string }) { return ( @@ -93,6 +88,65 @@ export default function ManageLineageMenu({ // if we don't show manual lineage options or the center node option, this menu has no options if (!isManualLineageSupported && isCenterNode) return null; + const items = [ + isManualLineageSupported + ? { + key: 0, + label: ( + manageLineage(Direction.Upstream)} disabled={isUpstreamDisabled}> + + ) + } + overlayStyle={isUpstreamDisabled ? { zIndex: POPOVER_Z_INDEX } : { display: 'none' }} + > + + +   Edit Upstream + + + + ), + } + : null, + isManualLineageSupported + ? { + key: 1, + label: ( + manageLineage(Direction.Downstream)} + disabled={isDownstreamDisabled} + > + + + +   Edit Downstream + + + + ), + } + : null, + !isCenterNode && centerEntity + ? { + key: 2, + label: ( + + +   Focus on Entity + + ), + } + : null, + ]; + return ( <> @@ -100,71 +154,7 @@ export default function ManageLineageMenu({ - {isManualLineageSupported && ( - <> - manageLineage(Direction.Upstream)} - disabled={isUpstreamDisabled} - > - - ) - } - overlayStyle={ - isUpstreamDisabled - ? { zIndex: POPOVER_Z_INDEX } - : { display: 'none' } - } - > - - -   Edit Upstream - - - - manageLineage(Direction.Downstream)} - disabled={isDownstreamDisabled} - > - - - -   Edit Downstream - - - - - )} - {!isCenterNode && centerEntity && ( - - -   Focus on Entity - - )} - - } + menu={{ items }} trigger={['click']} > {menuIcon || } diff --git a/datahub-web-react/src/app/lineage/manage/ManageLineageModal.tsx b/datahub-web-react/src/app/lineage/manage/ManageLineageModal.tsx index 6f459034579d3e..ed792724ebedf7 100644 --- a/datahub-web-react/src/app/lineage/manage/ManageLineageModal.tsx +++ b/datahub-web-react/src/app/lineage/manage/ManageLineageModal.tsx @@ -117,7 +117,7 @@ export default function ManageLineageModal({ return ( Manage {lineageDirection} Lineage} - visible + open onCancel={closeModal} keyboard footer={ diff --git a/datahub-web-react/src/app/permissions/policy/ManagePolicies.tsx b/datahub-web-react/src/app/permissions/policy/ManagePolicies.tsx index 5838271b3de5b0..51fbc83d320632 100644 --- a/datahub-web-react/src/app/permissions/policy/ManagePolicies.tsx +++ b/datahub-web-react/src/app/permissions/policy/ManagePolicies.tsx @@ -426,7 +426,7 @@ export const ManagePolicies = () => { focusPolicyUrn={focusPolicyUrn} policy={focusPolicy || EMPTY_POLICY} setPolicy={setFocusPolicy} - visible={showPolicyBuilderModal} + open={showPolicyBuilderModal} onClose={onClosePolicyBuilder} onSave={onSavePolicy} /> @@ -434,7 +434,7 @@ export const ManagePolicies = () => { {showViewPolicyModal && ( diff --git a/datahub-web-react/src/app/permissions/policy/PolicyBuilderModal.tsx b/datahub-web-react/src/app/permissions/policy/PolicyBuilderModal.tsx index 131a586329ff53..7471aa476dc23e 100644 --- a/datahub-web-react/src/app/permissions/policy/PolicyBuilderModal.tsx +++ b/datahub-web-react/src/app/permissions/policy/PolicyBuilderModal.tsx @@ -12,7 +12,7 @@ import ClickOutside from '../../shared/ClickOutside'; type Props = { policy: Omit; setPolicy: (policy: Omit) => void; - visible: boolean; + open: boolean; focusPolicyUrn: string | undefined; onClose: () => void; onSave: (savePolicy: Omit) => void; @@ -40,7 +40,7 @@ const NextButtonContainer = styled.div` * Component used for constructing new policies. The purpose of this flow is to populate or edit a Policy * object through a sequence of steps. */ -export default function PolicyBuilderModal({ policy, setPolicy, visible, onClose, onSave, focusPolicyUrn }: Props) { +export default function PolicyBuilderModal({ policy, setPolicy, open, onClose, onSave, focusPolicyUrn }: Props) { // Step control-flow. const [activeStepIndex, setActiveStepIndex] = useState(0); const [selectedTags, setSelectedTags] = useState([]); @@ -168,7 +168,7 @@ export default function PolicyBuilderModal({ policy, setPolicy, visible, onClose ; - visible: boolean; + open: boolean; onClose: () => void; privileges: PrivilegeOptionType[] | undefined; }; @@ -60,7 +60,7 @@ const Privileges = styled.div` /** * Component used for displaying the details about an existing Policy. */ -export default function PolicyDetailsModal({ policy, visible, onClose, privileges }: Props) { +export default function PolicyDetailsModal({ policy, open, onClose, privileges }: Props) { const entityRegistry = useEntityRegistry(); const isActive = policy?.state === PolicyState.Active; @@ -121,7 +121,7 @@ export default function PolicyDetailsModal({ policy, visible, onClose, privilege }; return ( - +
    Type diff --git a/datahub-web-react/src/app/permissions/roles/ManageRoles.tsx b/datahub-web-react/src/app/permissions/roles/ManageRoles.tsx index 4982be27fa4214..7c2cec63071adb 100644 --- a/datahub-web-react/src/app/permissions/roles/ManageRoles.tsx +++ b/datahub-web-react/src/app/permissions/roles/ManageRoles.tsx @@ -284,7 +284,7 @@ export const ManageRoles = () => { showSizeChanger={false} /> - + ); }; diff --git a/datahub-web-react/src/app/permissions/roles/RoleDetailsModal.tsx b/datahub-web-react/src/app/permissions/roles/RoleDetailsModal.tsx index c32e9c07823da7..7bca62c040c2db 100644 --- a/datahub-web-react/src/app/permissions/roles/RoleDetailsModal.tsx +++ b/datahub-web-react/src/app/permissions/roles/RoleDetailsModal.tsx @@ -7,7 +7,7 @@ import AvatarsGroup from '../AvatarsGroup'; type Props = { role: DataHubRole; - visible: boolean; + open: boolean; onClose: () => void; }; @@ -34,7 +34,7 @@ const ThinDivider = styled(Divider)` /** * Component used for displaying the details about an existing Role. */ -export default function RoleDetailsModal({ role, visible, onClose }: Props) { +export default function RoleDetailsModal({ role, open, onClose }: Props) { const entityRegistry = useEntityRegistry(); const actionButtons = ( @@ -49,7 +49,7 @@ export default function RoleDetailsModal({ role, visible, onClose }: Props) { const policies = castedRole?.policies?.relationships.map((relationship) => relationship.entity as DataHubPolicy); return ( - +
    Description diff --git a/datahub-web-react/src/app/preview/EntityPaths/EntityPathsModal.tsx b/datahub-web-react/src/app/preview/EntityPaths/EntityPathsModal.tsx index 2bb76714d6119d..68c754b6b21d36 100644 --- a/datahub-web-react/src/app/preview/EntityPaths/EntityPathsModal.tsx +++ b/datahub-web-react/src/app/preview/EntityPaths/EntityPathsModal.tsx @@ -47,7 +47,7 @@ export default function EntityPathsModal({ paths, resultEntityUrn, hideModal }: } width="75vw" - visible + open onCancel={hideModal} onOk={hideModal} footer={null} diff --git a/datahub-web-react/src/app/search/AdvancedFilterSelectValueModal.tsx b/datahub-web-react/src/app/search/AdvancedFilterSelectValueModal.tsx index c562fc6e8349a9..056aca56c13137 100644 --- a/datahub-web-react/src/app/search/AdvancedFilterSelectValueModal.tsx +++ b/datahub-web-react/src/app/search/AdvancedFilterSelectValueModal.tsx @@ -187,7 +187,7 @@ export const AdvancedFilterSelectValueModal = ({ { onSelect(urns); @@ -211,7 +211,7 @@ export const AdvancedFilterSelectValueModal = ({ { onSelect(urns); diff --git a/datahub-web-react/src/app/search/ChooseEntityTypeModal.tsx b/datahub-web-react/src/app/search/ChooseEntityTypeModal.tsx index 1e31bd74ee06f2..dd611bba346c1b 100644 --- a/datahub-web-react/src/app/search/ChooseEntityTypeModal.tsx +++ b/datahub-web-react/src/app/search/ChooseEntityTypeModal.tsx @@ -29,7 +29,7 @@ export const ChooseEntityTypeModal = ({ defaultValues, onCloseModal, onOk, title return ( any; suggestions: SearchSuggestion[]; + pageNumber: number; }; export const SearchResultList = ({ @@ -73,6 +74,7 @@ export const SearchResultList = ({ selectedEntities, setSelectedEntities, suggestions, + pageNumber, }: Props) => { const entityRegistry = useEntityRegistry(); const selectedEntityUrns = selectedEntities.map((entity) => entity.urn); @@ -86,6 +88,7 @@ export const SearchResultList = ({ entityType: result.entity.type, index, total: totalResultCount, + pageNumber, }); }; diff --git a/datahub-web-react/src/app/search/SearchResults.tsx b/datahub-web-react/src/app/search/SearchResults.tsx index dafe9a20b6ab7f..e96e8fd528b9e6 100644 --- a/datahub-web-react/src/app/search/SearchResults.tsx +++ b/datahub-web-react/src/app/search/SearchResults.tsx @@ -264,6 +264,7 @@ export const SearchResults = ({ selectedEntities={selectedEntities} setSelectedEntities={setSelectedEntities} suggestions={suggestions} + pageNumber={page} /> {totalResults > 0 && ( diff --git a/datahub-web-react/src/app/settings/AccessTokenModal.tsx b/datahub-web-react/src/app/settings/AccessTokenModal.tsx index 10427210d06928..008cf7999d3eb6 100644 --- a/datahub-web-react/src/app/settings/AccessTokenModal.tsx +++ b/datahub-web-react/src/app/settings/AccessTokenModal.tsx @@ -35,13 +35,13 @@ const StyledInfoCircleOutlined = styled(InfoCircleOutlined)` `; type Props = { - visible: boolean; + open: boolean; onClose: () => void; accessToken: string; expiresInText: string; }; -export const AccessTokenModal = ({ visible, onClose, accessToken, expiresInText }: Props) => { +export const AccessTokenModal = ({ open, onClose, accessToken, expiresInText }: Props) => { const baseUrl = window.location.origin; const accessTokenCurl = `curl -X POST '${baseUrl}/api/graphql' \\ --header 'Authorization: Bearer ${accessToken}' \\ @@ -56,7 +56,7 @@ export const AccessTokenModal = ({ visible, onClose, accessToken, expiresInText New Personal Access Token } - visible={visible} + open={open} onCancel={onClose} footer={ <> diff --git a/datahub-web-react/src/app/settings/AccessTokens.tsx b/datahub-web-react/src/app/settings/AccessTokens.tsx index ef58a1b84c1408..6ccca8dd360d70 100644 --- a/datahub-web-react/src/app/settings/AccessTokens.tsx +++ b/datahub-web-react/src/app/settings/AccessTokens.tsx @@ -419,7 +419,7 @@ export const AccessTokens = () => { setIsCreatingToken(false)} onCreateToken={() => { // Hack to deal with eventual consistency. diff --git a/datahub-web-react/src/app/settings/CreateTokenModal.tsx b/datahub-web-react/src/app/settings/CreateTokenModal.tsx index 3cc446651efcbc..e53de77b54e15d 100644 --- a/datahub-web-react/src/app/settings/CreateTokenModal.tsx +++ b/datahub-web-react/src/app/settings/CreateTokenModal.tsx @@ -12,7 +12,7 @@ import analytics, { EventType } from '../analytics'; type Props = { currentUserUrn: string; - visible: boolean; + open: boolean; onClose: () => void; onCreateToken: () => void; }; @@ -39,7 +39,7 @@ const OptionText = styled.span<{ isRed: boolean }>` ${(props) => props.isRed && `color: ${red[5]};`} `; -export default function CreateTokenModal({ currentUserUrn, visible, onClose, onCreateToken }: Props) { +export default function CreateTokenModal({ currentUserUrn, open, onClose, onCreateToken }: Props) { const [selectedTokenDuration, setSelectedTokenDuration] = useState(null); const [showModal, setShowModal] = useState(false); @@ -113,7 +113,7 @@ export default function CreateTokenModal({ currentUserUrn, visible, onClose, onC <> @@ -192,7 +192,7 @@ export default function CreateTokenModal({ currentUserUrn, visible, onClose, onC }, { path: 'ownership', content: }, { path: 'posts', content: }, + { path: 'features', content: }, ]; /** @@ -80,6 +99,7 @@ const DEFAULT_PATH = PATHS[0]; export const SettingsPage = () => { const { path, url } = useRouteMatch(); const { pathname } = useLocation(); + const history = useHistory(); const subRoutes = PATHS.map((p) => p.path.replace('/', '')); const currPathName = pathname.replace(path, ''); @@ -101,6 +121,7 @@ export const SettingsPage = () => { const showViews = isViewsEnabled || false; const showOwnershipTypes = me && me?.platformPrivileges?.manageOwnershipTypes; const showHomePagePosts = me && me?.platformPrivileges?.manageGlobalAnnouncements && !readOnlyModeEnabled; + const showFeatures = me?.platformPrivileges?.manageIngestion; // TODO: Add feature flag for this return ( @@ -143,6 +164,13 @@ export const SettingsPage = () => { )} {(showViews || showOwnershipTypes || showHomePagePosts) && ( + {showFeatures && ( + + + Features + New! + + )} {showViews && ( My Views diff --git a/datahub-web-react/src/app/settings/features/Feature.tsx b/datahub-web-react/src/app/settings/features/Feature.tsx new file mode 100644 index 00000000000000..13453cf8f73252 --- /dev/null +++ b/datahub-web-react/src/app/settings/features/Feature.tsx @@ -0,0 +1,184 @@ +import React from 'react'; + +import styled from 'styled-components'; + +import { Divider, Typography, Switch, Card, Button, Tooltip } from 'antd'; +import { ArrowRightOutlined } from '@ant-design/icons'; +import { ANTD_GRAY } from '../../entity/shared/constants'; + +const Title = styled(Typography.Title)` + && { + margin-bottom: 8px; + } +`; + +const FeatureRow = styled.div` + display: flex; + align-items: flex-start; + justify-content: space-between; +`; + +const FeatureOptionRow = styled.div` + display: flex; + justify-content: space-between; + + &:not(:last-child) { + margin-bottom: 8px; + } +`; + +const SettingsOptionRow = styled.div` + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 16px; + + &:not(:last-child) { + margin-bottom: 8px; + } +`; + +const DescriptionText = styled(Typography.Text)` + color: ${ANTD_GRAY[7]}; + font-size: 11px; +`; + +const SettingTitle = styled.div` + display: flex; + align-items: center; + gap: 8px; + font-size: 14px; + margin-bottom: 4px; +`; + +const OptionTitle = styled(Typography.Text)` + display: flex; + align-items: center; + gap: 8px; + font-size: 12px; +`; + +const learnMoreLinkStyle = { + flex: 1, + display: 'flex', + alignItems: 'center', + gap: '8px', + color: '#1890FF', + fontSize: '12px', + cursor: 'pointer', +}; + +const NewTag = styled.div` + padding: 4px 8px; + + border-radius: 24px; + background: #f1fbfe; + + color: #09739a; + font-size: 12px; +`; + +const DataHubOnlyTag = styled.div` + padding: 2px 8px; + + border-radius: 24px; + background: #c9fff2; + + color: #50a494; + font-size: 12px; +`; + +export interface FeatureType { + key: string; + title: string; + description: string; + settings: Array<{ + key: string; + title: string; + isAvailable: boolean; + buttonText: string; + onClick?: () => void; + }>; + options: Array<{ + key: string; + title: string; + description: string; + isAvailable: boolean; + isDisabled: boolean; + disabledMessage?: string; + checked: boolean; + onChange?: (checked: boolean) => void; + }>; + isNew: boolean; + learnMoreLink?: string; +} + +export const Feature = ({ key, title, description, settings, options, isNew, learnMoreLink }: FeatureType) => ( + + +
    + + + {title} + + {isNew && New!} + +
    + {description} +
    +
    +
    + {learnMoreLink && ( + + Learn more + + )} +
    +
    + + + {options.map((option, index) => ( + <> + + + + {option.title} + {!option.isAvailable && ( + Only available on DataHub Cloud + )} + +
    + {option.description} +
    +
    + + (option.onChange ? option.onChange(checked) : null)} + disabled={!option.isAvailable || option.isDisabled} + /> + +
    + {index !== options.length - 1 && } + + ))} +
    + {settings.map((option) => ( + <> + + + + {option.title} + Only available on DataHub Cloud + + + + + + + + ))} +
    +); diff --git a/datahub-web-react/src/app/settings/features/Features.tsx b/datahub-web-react/src/app/settings/features/Features.tsx new file mode 100644 index 00000000000000..1d0a0bb469cf86 --- /dev/null +++ b/datahub-web-react/src/app/settings/features/Features.tsx @@ -0,0 +1,115 @@ +import React from 'react'; + +import styled from 'styled-components'; + +import { Divider, Typography } from 'antd'; +import { v4 as uuidv4 } from 'uuid'; + +import { Feature, FeatureType } from './Feature'; + +import { useGetDocPropagationSettings, useUpdateDocPropagationSettings } from './useDocPropagationSettings'; + +const Page = styled.div` + width: 100%; + display: flex; + justify-content: center; +`; + +const SourceContainer = styled.div` + width: 80%; + padding-top: 20px; + padding-right: 40px; + padding-left: 40px; +`; +const Container = styled.div` + padding-top: 0px; +`; + +const Title = styled(Typography.Title)` + && { + margin-bottom: 8px; + } +`; + +export const Features = () => { + /* + * Note: When adding new features, make sure to update the features array below + * and create a hook file for the new feature in the same directory + */ + + // Hooks to get and update the document propagation settings + const { isColPropagateChecked, setIsColPropagateChecked } = useGetDocPropagationSettings(); + const { updateDocPropagation } = useUpdateDocPropagationSettings(); + + // Features to display + const features: FeatureType[] = [ + { + key: uuidv4(), + title: 'Documentation Propagation', + description: 'Automatically propagate documentation from upstream to downstream columns and assets.', + settings: [ + { + key: uuidv4(), + title: 'Rollback Propagation Changes', + isAvailable: false, + buttonText: 'Rollback', + }, + { + key: uuidv4(), + title: 'Backfill existing documentation from upstream to downstream columns/assets', + isAvailable: false, + buttonText: 'Initialize', + }, + ], + options: [ + { + key: uuidv4(), + title: 'Column Level Propagation', + description: + 'Propagate new documentation from upstream to downstream columns based on column-level lineage relationships.', + isAvailable: true, + checked: isColPropagateChecked, + onChange: (checked: boolean) => { + setIsColPropagateChecked(checked); + updateDocPropagation(checked); + }, + isDisabled: false, + disabledMessage: undefined, + }, + { + key: uuidv4(), + title: 'Asset Level Propagation', + description: + 'Propagate new documentation from upstream to downstream assets based on data lineage relationships.', + checked: false, + onChange: (_: boolean) => null, + isAvailable: true, + isDisabled: true, + disabledMessage: 'Coming soon!', + }, + ], + isNew: true, + learnMoreLink: 'https://datahubproject.io/docs/automations/docs-propagation', + }, + ]; + + // Render + return ( + + + +
    + Features + + Explore and configure specific features + +
    +
    + + {features.map((feature) => ( + + ))} +
    +
    + ); +}; diff --git a/datahub-web-react/src/app/settings/features/useDocPropagationSettings.ts b/datahub-web-react/src/app/settings/features/useDocPropagationSettings.ts new file mode 100644 index 00000000000000..c93b610cff9d1b --- /dev/null +++ b/datahub-web-react/src/app/settings/features/useDocPropagationSettings.ts @@ -0,0 +1,50 @@ +import { useEffect, useState } from 'react'; + +import { message } from 'antd'; + +import { + useGetDocPropagationSettingsQuery, + useUpdateDocPropagationSettingsMutation, +} from '../../../graphql/app.generated'; + +// Hook to get the document propagation settings & manage state +export const useGetDocPropagationSettings = () => { + const { data, refetch } = useGetDocPropagationSettingsQuery(); + const [isColPropagateChecked, setIsColPropagateChecked] = useState(false); + + useEffect(() => { + const docPropSetting = data?.docPropagationSettings?.docColumnPropagation; + if (docPropSetting !== undefined) setIsColPropagateChecked(!!docPropSetting); + }, [data]); + + return { + isColPropagateChecked, + setIsColPropagateChecked, + refetch, + }; +}; + +// Hook to update the document propagation settings +export const useUpdateDocPropagationSettings = () => { + const [updateDocPropagationSettings] = useUpdateDocPropagationSettingsMutation(); + const { refetch } = useGetDocPropagationSettingsQuery(); + + const updateDocPropagation = async (checked: boolean) => { + try { + await updateDocPropagationSettings({ + variables: { + input: { + docColumnPropagation: checked, + }, + }, + }); + refetch(); + message.success('Successfully updated documentation propagation settings'); + } catch (e) { + message.error('Failed to update documentation propagation settings'); + refetch(); + } + }; + + return { updateDocPropagation }; +}; diff --git a/datahub-web-react/src/app/settings/posts/PostItemMenu.tsx b/datahub-web-react/src/app/settings/posts/PostItemMenu.tsx index 10e2996c36f69f..87bc95f56cbe7c 100644 --- a/datahub-web-react/src/app/settings/posts/PostItemMenu.tsx +++ b/datahub-web-react/src/app/settings/posts/PostItemMenu.tsx @@ -1,9 +1,10 @@ import React from 'react'; import { DeleteOutlined, EditOutlined } from '@ant-design/icons'; -import { Dropdown, Menu, message, Modal } from 'antd'; +import { Dropdown, message, Modal } from 'antd'; import { MenuIcon } from '../../entity/shared/EntityDropdown/EntityDropdown'; import { useDeletePostMutation } from '../../../graphql/post.generated'; import handleGraphQLError from '../../shared/handleGraphQLError'; +import { MenuItemStyle } from '../../entity/view/menu/item/styledComponent'; type Props = { urn: string; @@ -50,20 +51,27 @@ export default function PostItemMenu({ title, urn, onDelete, onEdit }: Props) { }); }; + const items = [ + { + key: 'delete', + label: ( + +  Delete + + ), + }, + { + key: 'edit', + label: ( + +  Edit + + ), + }, + ]; + return ( - - -  Delete - - -  Edit - - - } - > + ); diff --git a/datahub-web-react/src/app/shared/ManageAccount.tsx b/datahub-web-react/src/app/shared/ManageAccount.tsx index 6d496b40362e55..359a7d77dd02c5 100644 --- a/datahub-web-react/src/app/shared/ManageAccount.tsx +++ b/datahub-web-react/src/app/shared/ManageAccount.tsx @@ -1,6 +1,6 @@ import React from 'react'; import Cookies from 'js-cookie'; -import { Menu, Dropdown } from 'antd'; +import { Dropdown } from 'antd'; import { CaretDownOutlined } from '@ant-design/icons'; import styled, { useTheme } from 'styled-components'; import { EntityType } from '../../types.generated'; @@ -12,22 +12,7 @@ import analytics, { EventType } from '../analytics'; import { ANTD_GRAY } from '../entity/shared/constants'; import { useAppConfig } from '../useAppConfig'; import { useUserContext } from '../context/useUserContext'; - -const MenuItem = styled(Menu.Item)` - display: flex; - justify-content: start; - align-items: center; - && { - margin-top: 2px; - } - & > a:visited, - & > a:active, - & > a:focus { - clear: both; - border: none; - outline: 0; - } -`; +import { MenuItemStyle } from '../entity/view/menu/item/styledComponent'; const DownArrow = styled(CaretDownOutlined)` vertical-align: -1px; @@ -63,55 +48,88 @@ export const ManageAccount = ({ urn: _urn, pictureLink: _pictureLink, name }: Pr userContext.updateLocalState({ selectedViewUrn: undefined }); }; const version = config?.appVersion; - const menu = ( - - {version && ( - - {version} - - )} - - - - Your Profile - - - - {themeConfig.content.menu.items.map((value) => { - return ( - - - {value.label} - - - ); - })} - - GraphiQL - - - OpenAPI - - - - - Sign Out - - - - ); + + const themeConfigItems = themeConfig.content.menu.items.map((value) => { + return { + key: value.label, + label: ( + + + {value.label} + + + ), + }; + }); + + const divider = { + key: 'divider', + type: 'divider', + }; + + const items = [ + version + ? { + key: 'version', + label: ( + + {version} + + ), + } + : null, + divider, + { + key: 'profile', + label: ( + + + Your Profile + + + ), + }, + ...themeConfigItems, + { + key: 'graphiQLLink', + label: ( + + GraphiQL + + ), + }, + { + key: 'openapiLink', + label: ( + + OpenAPI + + ), + }, + divider, + { + key: 'logout', + label: ( + + + Sign Out + + + ), + }, + ]; return ( - + diff --git a/datahub-web-react/src/app/shared/admin/HeaderLinks.tsx b/datahub-web-react/src/app/shared/admin/HeaderLinks.tsx index cce2a2336515d6..8936a935735c57 100644 --- a/datahub-web-react/src/app/shared/admin/HeaderLinks.tsx +++ b/datahub-web-react/src/app/shared/admin/HeaderLinks.tsx @@ -10,7 +10,7 @@ import { GlobalOutlined, } from '@ant-design/icons'; import { Link } from 'react-router-dom'; -import { Button, Dropdown, Menu, Tooltip } from 'antd'; +import { Button, Dropdown, Tooltip } from 'antd'; import { useAppConfig, useBusinessAttributesFlag } from '../../useAppConfig'; import { ANTD_GRAY } from '../../entity/shared/constants'; import { HOME_PAGE_INGESTION_ID } from '../../onboarding/config/HomePageOnboardingConfig'; @@ -35,12 +35,6 @@ const LinksWrapper = styled.div<{ areLinksHidden?: boolean }>` `} `; -const MenuItem = styled(Menu.Item)` - font-size: 12px; - font-weight: bold; - max-width: 240px; -`; - const NavTitleContainer = styled.span` display: flex; align-items: center; @@ -50,6 +44,7 @@ const NavTitleContainer = styled.span` const NavTitleText = styled.span` margin-left: 6px; + font-weight: bold; `; const NavTitleDescription = styled.div` @@ -79,6 +74,59 @@ export function HeaderLinks(props: Props) { useToggleEducationStepIdsAllowList(!!showIngestion, HOME_PAGE_INGESTION_ID); + const items = [ + { + key: 0, + label: ( + + + + Glossary + + View and modify your data dictionary + + ), + }, + { + key: 1, + label: ( + + + + Domains + + Manage related groups of data assets + + ), + }, + ...(businessAttributesFlag + ? [ + { + key: 2, + label: ( + + + + Business Attribute + + Universal field for data consistency + + ), + }, + ] + : []), + ]; + return ( {showAnalytics && ( @@ -95,52 +143,7 @@ export function HeaderLinks(props: Props) { )} - - - - - - Glossary - - View and modify your data dictionary - - - - - - - Domains - - Manage related groups of data assets - - - {businessAttributesFlag && ( - - - - - Business Attribute - - Universal field for data consistency - - - )} - - } - > +
    diff --git a/docs-website/src/learn/_components/LearnListPage/index.jsx b/docs-website/src/learn/_components/LearnListPage/index.jsx index 4df87a340f21ee..1ceec9afa1e8a3 100644 --- a/docs-website/src/learn/_components/LearnListPage/index.jsx +++ b/docs-website/src/learn/_components/LearnListPage/index.jsx @@ -58,8 +58,9 @@ function BlogListPageContent(props) { For: {audiences.map((audience) => ( diff --git a/docs-website/src/learn/_components/LearnListPage/styles.module.scss b/docs-website/src/learn/_components/LearnListPage/styles.module.scss index d08b48a011de07..ce86e124afdb81 100644 --- a/docs-website/src/learn/_components/LearnListPage/styles.module.scss +++ b/docs-website/src/learn/_components/LearnListPage/styles.module.scss @@ -4,4 +4,10 @@ align-items: center; gap: 10px; flex-wrap: wrap; -} \ No newline at end of file + + .buttonActive { + background-color: var(--ifm-color-primary); + border: 1px solid var(--ifm-color-primary); + color: #ffffff; + } +} diff --git a/docs-website/src/learn/business-glossary.md b/docs-website/src/learn/business-glossary.md index d6b249617fc5ac..4568406a1667fc 100644 --- a/docs-website/src/learn/business-glossary.md +++ b/docs-website/src/learn/business-glossary.md @@ -91,7 +91,7 @@ Some companies use manual methods to track data terminology and manage access re ### Our Solution -Acryl DataHub offers comprehensive features designed to support the authoring of a unified business glossary for your organization: +DataHub Cloud offers comprehensive features designed to support the authoring of a unified business glossary for your organization:

    diff --git a/docs-website/src/learn/business-metric.md b/docs-website/src/learn/business-metric.md index 39221a67d40abc..1378168f42195e 100644 --- a/docs-website/src/learn/business-metric.md +++ b/docs-website/src/learn/business-metric.md @@ -54,7 +54,7 @@ Some companies try to align metric definitions through emails and meetings. Whil ### Our Solution -Acryl DataHub offers comprehensive features designed to tackle the challenges of defining and standardizing business metrics: +DataHub Cloud offers comprehensive features designed to tackle the challenges of defining and standardizing business metrics:

    @@ -72,13 +72,14 @@ Acryl DataHub offers comprehensive features designed to tackle the challenges of

    - **[Approval Flows](https://datahubproject.io/docs/managed-datahub/approval-workflows):** Structured workflows for approving changes to metric definitions, maintaining accuracy and reliability. - - -![Untitled](https://prod-files-secure.s3.us-west-2.amazonaws.com/f818df0d-1067-44ab-99e1-8cf45d930c01/33ebd070-32a1-4875-b220-c31373f5eedf/Untitled.png) +

    + +
    + Lineage Tracking +

    - **[Lineage Tracking](https://datahubproject.io/docs/generated/lineage/lineage-feature-guide):** Tools to track the origin and transformations of metrics, ensuring they align with standardized definitions. - - -![Screenshot 2024-07-10 at 12.07.28 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/f818df0d-1067-44ab-99e1-8cf45d930c01/39503957-ad64-4d2d-a5b2-b140abfc1f6c/Screenshot_2024-07-10_at_12.07.28_PM.png) By implementing these solutions, you can ensure that your business metrics are consistently defined and accurately used across all teams, supporting reliable analysis and decision-making. diff --git a/docs-website/src/learn/data-freshness.md b/docs-website/src/learn/data-freshness.md index e97e9b054b256d..528b2975f7528e 100644 --- a/docs-website/src/learn/data-freshness.md +++ b/docs-website/src/learn/data-freshness.md @@ -91,7 +91,7 @@ DataHub offers comprehensive features designed to tackle data freshness challeng

    -**Freshness Monitoring & Alerting:** Automatically detect and alert when data freshness issues occur, to ensure timely updates by proactively monitoring key datasets for updates. Check out [Assertions](https://datahubproject.io/docs/managed-datahub/observe/assertions) and [Freshness Assertions](https://datahubproject.io/docs/managed-datahub/observe/freshness-assertions), Available in **Acryl Managed DataHub Only.** +**Freshness Monitoring & Alerting:** Automatically detect and alert when data freshness issues occur, to ensure timely updates by proactively monitoring key datasets for updates. Check out [Assertions](https://datahubproject.io/docs/managed-datahub/observe/assertions) and [Freshness Assertions](https://datahubproject.io/docs/managed-datahub/observe/freshness-assertions), Available in **DataHub Cloud Only.**

    diff --git a/docs-website/src/learn/data-mesh.md b/docs-website/src/learn/data-mesh.md index f9a625d103ae71..038fcb971f5da2 100644 --- a/docs-website/src/learn/data-mesh.md +++ b/docs-website/src/learn/data-mesh.md @@ -90,7 +90,7 @@ While a centralized data lake or warehouse can simplify data governance by virtu ### Our Solution -Acryl DataHub offers a comprehensive set of features designed to support the implementation of a Data Mesh at your organization: +DataHub Cloud offers a comprehensive set of features designed to support the implementation of a Data Mesh at your organization: - **[Data Domains](https://datahubproject.io/docs/domains)**: Clearly define and manage data products within each business unit. - **[Data Products](https://datahubproject.io/docs/dataproducts):** Ensure each domain owns and manages its data products, promoting autonomy and agility. @@ -100,7 +100,7 @@ Acryl DataHub offers a comprehensive set of features designed to support the imp


    - Data Contracts in Acryl DataHub UI + Data Contracts in DataHub Cloud UI

    @@ -128,4 +128,4 @@ By implementing these solutions, you can effectively manage decentralized data, ## Conclusion -Implementing a Data Mesh can significantly improve your organization's ability to manage and leverage decentralized data. By understanding the benefits of data mesh and following best practices for implementation, you can overcome the limitations of centralized data systems and enhance your agility, scalability, and ability to generate insights. Acryl DataHub was built from the ground up to help you achieve this, providing the tools and features necessary to implement a large-scale Data Mesh successfully. \ No newline at end of file +Implementing a Data Mesh can significantly improve your organization's ability to manage and leverage decentralized data. By understanding the benefits of data mesh and following best practices for implementation, you can overcome the limitations of centralized data systems and enhance your agility, scalability, and ability to generate insights. DataHub Cloud was built from the ground up to help you achieve this, providing the tools and features necessary to implement a large-scale Data Mesh successfully. \ No newline at end of file diff --git a/docs-website/src/learn/data-pipeline.md b/docs-website/src/learn/data-pipeline.md index f5e5bb6615f48b..d57341c30a8c73 100644 --- a/docs-website/src/learn/data-pipeline.md +++ b/docs-website/src/learn/data-pipeline.md @@ -61,7 +61,7 @@ Some companies resort to manual debugging or use communication tools like Slack ### Our Solution -Acryl DataHub offers comprehensive features designed to optimize data pipelines: +DataHub Cloud offers comprehensive features designed to optimize data pipelines:

    diff --git a/docs-website/src/pages/_components/CardCTAs/cardCTAs.module.scss b/docs-website/src/pages/_components/CardCTAs/cardCTAs.module.scss deleted file mode 100644 index fcd3666d03ddc9..00000000000000 --- a/docs-website/src/pages/_components/CardCTAs/cardCTAs.module.scss +++ /dev/null @@ -1,24 +0,0 @@ -.flexCol { - display: flex; -} - -.ctaCard { - flex-direction: row; - align-items: flex-start; - justify-content: space-between; - row-gap: 1rem; - padding: 1rem; - &:hover { - text-decoration: none; - border: 1px solid var(--ifm-color-primary); - background-color: var(--ifm-background-surface-color); - } - margin-bottom: 1rem; - flex: 1; -} - -.ctaHeading { - margin-bottom: 0; - display: flex; - align-items: center; -} diff --git a/docs-website/src/pages/_components/CardCTAs/index.js b/docs-website/src/pages/_components/CardCTAs/index.js deleted file mode 100644 index dc1b148d24bcd2..00000000000000 --- a/docs-website/src/pages/_components/CardCTAs/index.js +++ /dev/null @@ -1,52 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import styles from "./cardCTAs.module.scss"; -import useBaseUrl from "@docusaurus/useBaseUrl"; -import { ArrowRightOutlined } from "@ant-design/icons"; - -const cardsContent = [ - { - label: "Data Mesh", - title: "Data Products, Delivered", - url: "https://www.acryldata.io/blog/data-products-in-datahub-everything-you-need-to-know?utm_source=datahub&utm_medium=referral&utm_content=blog", - }, - { - label: "Data Contracts", - title: "Data Contracts: End-to-end Reliability in Data", - url: "https://www.acryldata.io/blog/data-contracts-in-datahub-combining-verifiability-with-holistic-data-management?utm_source=datahub&utm_medium=referral&utm_content=blog", - }, - { - label: "Shift Left", - title: "Data Governance and Lineage Impact Analysis", - url: "https://www.acryldata.io/blog/the-3-must-haves-of-metadata-management-part-2?utm_source=datahub&utm_medium=referral&utm_content=blog", - }, -]; - -const Card = ({ label, title, url }) => { - return ( -

    - ); -}; - -const CardCTAs = () => - cardsContent?.length > 0 ? ( -
    -
    -
    - {cardsContent.map((props, idx) => ( - - ))} -
    -
    -
    - ) : null; - -export default CardCTAs; diff --git a/docs-website/src/pages/_components/Hero/hero.module.scss b/docs-website/src/pages/_components/Hero/hero.module.scss index 6e4a623f469d51..97bdceaef69366 100644 --- a/docs-website/src/pages/_components/Hero/hero.module.scss +++ b/docs-website/src/pages/_components/Hero/hero.module.scss @@ -42,58 +42,3 @@ } } } - -.quickLinks { - display: flex; - align-items: center; - justify-content: space-between; - padding: 1rem; - font-weight: bold; - margin-bottom: -2.5vh; - @media (min-width: 768px) { - flex-direction: row; - } - - > * { - padding: 0.5rem 1rem; - display: inline-block; - - @media (min-width: 768px) { - padding: 0 1rem; - } - } -} - -.quickLinksLabel { - display: flex; - align-items: center; - svg { - width: 24px; - height: 24px; - color: var(--ifm-text-color) !important; - margin-right: 0.5rem; - } -} - -.quickstartContent { - text-align: center; - padding: 2rem 0; - height: 100%; - margin: 2rem 0; - background: #34394d; - border-radius: var(--ifm-card-border-radius); -} - -.quickstartTitle { - color: #fafafa; -} - -.quickstartSubtitle { - font-size: 1.1rem; - color: gray; -} - -.quickstartCodeblock { - text-align: left; - padding: 0 20vh; -} diff --git a/docs-website/src/pages/_components/Hero/index.js b/docs-website/src/pages/_components/Hero/index.js index 17e5d0e7f4966a..12e41e2ecd1766 100644 --- a/docs-website/src/pages/_components/Hero/index.js +++ b/docs-website/src/pages/_components/Hero/index.js @@ -7,8 +7,8 @@ import { useColorMode } from "@docusaurus/theme-common"; import { QuestionCircleOutlined } from "@ant-design/icons"; import styles from "./hero.module.scss"; import CodeBlock from "@theme/CodeBlock"; -import CardCTAs from "../CardCTAs"; import TownhallButton from "../TownhallButton"; +import { Section } from "../Section"; const HeroAnnouncement = ({ message, linkUrl, linkText }) => (
    @@ -50,33 +50,6 @@ const Hero = ({}) => {
    - -
    -

    Get Started Now

    -

    Run the following command to get started with DataHub.

    -
    - - python3 -m pip install --upgrade pip wheel setuptools
    - python3 -m pip install --upgrade acryl-datahub
    - datahub docker quickstart -
    -
    - - DataHub Quickstart Guide - - - Deploying With Kubernetes - -
    -
    -
    - - Learn -
    - What is DataHub? - How is DataHub architected? - See DataHub in action -
    ); diff --git a/docs-website/src/pages/_components/Logos/index.js b/docs-website/src/pages/_components/Logos/index.js index 3243617bcc40d6..a4ac46649ccf49 100644 --- a/docs-website/src/pages/_components/Logos/index.js +++ b/docs-website/src/pages/_components/Logos/index.js @@ -1,204 +1,15 @@ -import React from "react"; import clsx from "clsx"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; import Link from "@docusaurus/Link"; import useBaseUrl from "@docusaurus/useBaseUrl"; - +import React from "react"; +import { Swiper, SwiperSlide } from "swiper/react"; +import "swiper/css"; +import "swiper/css/pagination"; +import { Pagination } from "swiper/modules"; import styles from "./logos.module.scss"; +const companyIndexes = require("../../../../adoptionStoriesIndexes.json"); +const companies = companyIndexes.companies; -const companiesByIndustry = [ - { - name: "B2B & B2C", - companies: [ - { - name: "LinkedIn", - imageUrl: "/img/logos/companies/linkedin.svg", - imageSize: "medium", - }, - { - name: "Udemy", - imageUrl: "/img/logos/companies/udemy.png", - imageSize: "medium", - }, - { - name: "Airtel", - imageUrl: "/img/logos/companies/airtel.png", - imageSize: "large", - }, - { - name: "Coursera", - imageUrl: "/img/logos/companies/coursera.svg", - imageSize: "small", - }, - { - name: "Geotab", - imageUrl: "/img/logos/companies/geotab.jpg", - imageSize: "small", - }, - { - name: "ThoughtWorks", - imageUrl: "/img/logos/companies/thoughtworks.png", - imageSize: "medium", - }, - { - name: "Expedia Group", - imageUrl: "/img/logos/companies/expedia.svg", - imageSize: "medium", - }, - { - name: "Typeform", - imageUrl: "/img/logos/companies/typeform.svg", - imageSize: "medium", - }, - { - name: "Peloton", - imageUrl: "/img/logos/companies/peloton.png", - imageSize: "default", - }, - { - name: "Zynga", - imageUrl: "/img/logos/companies/zynga.png", - imageSize: "default", - }, - { - name: "Hurb", - imageUrl: "/img/logos/companies/hurb.png", - imageSize: "medium", - }, - { - name: "Razer", - imageUrl: "/img/logos/companies/razer.jpeg", - imageSize: "large", - }, - { - name: "ClassDojo", - imageUrl: "/img/logos/companies/classdojo.png", - imageSize: "medium", - }, - ], - }, - { - name: "Financial & Fintech", - companies: [ - { - name: "Saxo Bank", - imageUrl: "/img/logos/companies/saxobank.svg", - imageSize: "default", - }, - { - name: "Klarna", - imageUrl: "/img/logos/companies/klarna.svg", - imageSize: "medium", - }, - { - name: "N26", - imageUrl: "/img/logos/companies/n26.svg", - imageSize: "medium", - }, - { - name: "BankSalad", - imageUrl: "/img/logos/companies/banksalad.png", - imageSize: "default", - }, - { - name: "Uphold", - imageUrl: "/img/logos/companies/uphold.png", - imageSize: "default", - }, - { - name: "Stash", - imageUrl: "/img/logos/companies/stash.svg", - imageSize: "medium", - }, - { - name: "SumUp", - imageUrl: "/img/logos/companies/sumup.png", - imageSize: "medium", - }, - ], - }, - { - name: "E-Commerce", - companies: [ - { - name: "Adevinta", - imageUrl: "/img/logos/companies/adevinta.png", - imageSize: "medium", - }, - { - name: "VanMoof", - imageUrl: "/img/logos/companies/vanmoof.png", - imageSize: "small", - }, - { - name: "Grofers", - imageUrl: "/img/logos/companies/grofers.png", - imageSize: "medium", - }, - { - name: "SpotHero", - imageUrl: "/img/logos/companies/spothero.png", - imageSize: "default", - }, - { - name: "hipages", - imageUrl: "/img/logos/companies/hipages.png", - imageSize: "medium", - }, - { - name: "Wolt", - imageUrl: "/img/logos/companies/wolt.png", - imageSize: "default", - }, - { - name: "Showroomprive.com", - imageUrl: "/img/logos/companies/showroomprive.png", - imageSize: "small", - }, - ], - }, - { - name: "And More", - companies: [ - { - name: "Wikimedia Foundation", - imageUrl: "/img/logos/companies/wikimedia-foundation.png", - imageSize: "medium", - }, - { - name: "Cabify", - imageUrl: "/img/logos/companies/cabify.png", - imageSize: "medium", - }, - { - name: "Digital Turbine", - imageUrl: "/img/logos/companies/digitalturbine.svg", - imageSize: "medium", - }, - { - name: "Viasat", - imageUrl: "/img/logos/companies/viasat.png", - imageSize: "medium", - }, - { - name: "DFDS", - imageUrl: "/img/logos/companies/dfds.png", - imageSize: "medium", - }, - { - name: "Moloco", - imageUrl: "/img/logos/companies/moloco.png", - imageSize: "medium", - }, - { - name: "Optum", - imageUrl: "/img/logos/companies/optum.jpg", - imageSize: "medium", - }, - ], - }, -]; const platformLogos = [ { @@ -229,6 +40,7 @@ const platformLogos = [ name: "CouchBase", imageUrl: "/img/logos/platforms/couchbase.svg", }, + { name: "Dagster", imageUrl: "/img/logos/platforms/dagster.png" }, { name: "Databricks", imageUrl: "/img/logos/platforms/databricks.png" }, { name: "DBT", imageUrl: "/img/logos/platforms/dbt.svg" }, { name: "Deltalake", imageUrl: "/img/logos/platforms/deltalake.svg" }, @@ -276,6 +88,7 @@ const platformLogos = [ { name: "Pinot", imageUrl: "/img/logos/platforms/pinot.svg" }, { name: "PostgreSQL", imageUrl: "/img/logos/platforms/postgres.svg" }, { name: "PowerBI", imageUrl: "/img/logos/platforms/powerbi.png" }, + { name: "Prefect", imageUrl: "/img/logos/platforms/prefect.svg" }, { name: "Presto", imageUrl: "/img/logos/platforms/presto.svg" }, { name: "Protobuf", imageUrl: "/img/logos/platforms/protobuf.png" }, { name: "Pulsar", imageUrl: "/img/logos/platforms/pulsar.png" }, @@ -315,10 +128,19 @@ const platformLogos = [ ]; export const PlatformLogos = () => ( - +
    {[...platformLogos, ...platformLogos].map((logo, idx) => ( - {logo.name} + {logo.name} ))}
    @@ -326,22 +148,58 @@ export const PlatformLogos = () => ( export const CompanyLogos = () => (
    - - {companiesByIndustry.map((industry, idx) => ( - -
    - {industry.companies.map((company, idx) => ( + + {companies + .filter((company) => company.imageUrl) // Filter companies with imageUrl + .map((company, idx) => ( + + {company.link ? ( + + {company.name} + + ) : ( {company.name} - ))} -
    -
    - ))} -
    + )} + + ))} +
    ); diff --git a/docs-website/src/pages/_components/Logos/logos.module.scss b/docs-website/src/pages/_components/Logos/logos.module.scss index b20cc9a48b247c..fd331bccb45563 100644 --- a/docs-website/src/pages/_components/Logos/logos.module.scss +++ b/docs-website/src/pages/_components/Logos/logos.module.scss @@ -1,3 +1,7 @@ +.pillTabs { + justify-content: center; +} + .marquee { width: 100%; overflow: hidden; @@ -35,7 +39,6 @@ } .companyWrapper { - background: #fff; display: flex; flex-wrap: wrap; align-items: center; @@ -45,16 +48,25 @@ filter: invert(1); mix-blend-mode: exclusion; } + + :global { + .swiper-wrapper { + display: flex; + align-items: center; + margin-bottom: 1rem; + .swiper-slide { + display: flex; + justify-content: center; + align-items: center; + height: 100%; + } + } + } } .companyLogoContainer { - display: flex; - align-items: center; justify-content: center; > div { - display: flex; - flex-direction: column; - align-items: center; ul[role="tablist"] { padding: 0 1rem; overflow-x: auto; @@ -79,23 +91,35 @@ } } +.companyLogoWithLink { + &:hover { + opacity: 1; + filter: grayscale(0%); + } +} + .companyLogo { - width: auto; + flex-shrink: 0; + width: 100%; + height: auto; mix-blend-mode: luminosity; opacity: 0.66; - margin: 2.5rem; - height: 60px; + filter: grayscale(100%); &.default { - height: 60px; + padding: 30px; } &.large { - height: 100px; + padding: 5px; } &.medium { - height: 30px; + padding: 15px; } &.small { - height: 20px; + padding: 10px; } } + +.swiper-pagination { + margin-top: 1rem; +} \ No newline at end of file diff --git a/docs-website/src/pages/_components/QuickstartContent/index.js b/docs-website/src/pages/_components/QuickstartContent/index.js new file mode 100644 index 00000000000000..8c942a6a2e440b --- /dev/null +++ b/docs-website/src/pages/_components/QuickstartContent/index.js @@ -0,0 +1,50 @@ +import React from "react"; +import clsx from "clsx"; +import Link from "@docusaurus/Link"; +import useBaseUrl from "@docusaurus/useBaseUrl"; +import Image from "@theme/IdealImage"; +import { useColorMode } from "@docusaurus/theme-common"; +import { QuestionCircleOutlined } from "@ant-design/icons"; +import styles from "./quickstartcontent.module.scss"; +import CodeBlock from "@theme/CodeBlock"; +import TownhallButton from "../TownhallButton"; +import { Section } from "../Section"; + + +const QuickstartContent = ({}) => { + const { colorMode } = useColorMode(); + return ( +
    +
    +
    +

    Get Started Now

    +

    Run the following command to get started with DataHub.

    +
    + + python3 -m pip install --upgrade pip wheel setuptools
    + python3 -m pip install --upgrade acryl-datahub
    + datahub docker quickstart +
    +
    + + DataHub Quickstart Guide + + + Deploying With Kubernetes + +
    +
    +
    + + Learn +
    + What is DataHub? + How is DataHub architected? + See DataHub in action +
    +
    +
    + ); +}; + +export default QuickstartContent; diff --git a/docs-website/src/pages/_components/QuickstartContent/quickstartcontent.module.scss b/docs-website/src/pages/_components/QuickstartContent/quickstartcontent.module.scss new file mode 100644 index 00000000000000..e1badca6d2e348 --- /dev/null +++ b/docs-website/src/pages/_components/QuickstartContent/quickstartcontent.module.scss @@ -0,0 +1,67 @@ +.container { + margin-bottom: 2rem; +} + +.button { + text-decoration: none; + margin: 0.5rem 0 0 0; + white-space: nowrap; + @media (min-width: 690px) { + margin: 0 0 0 0.5rem; + } +} + +.quickstartContent { + text-align: center; + padding: 2rem 0; + height: 100%; + margin: 2rem 0; + background: #34394d; + border-radius: var(--ifm-card-border-radius); +} + +.quickstartTitle { + color: #fafafa; +} + +.quickstartSubtitle { + font-size: 1.1rem; + color: gray; +} + +.quickstartCodeblock { + text-align: left; + padding: 0 20vh; +} + +.quickLinks { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem; + font-weight: bold; + margin-bottom: -2.5vh; + @media (min-width: 768px) { + flex-direction: row; + } + + > * { + padding: 0.5rem 1rem; + display: inline-block; + + @media (min-width: 768px) { + padding: 0 1rem; + } + } +} + +.quickLinksLabel { + display: flex; + align-items: center; + svg { + width: 24px; + height: 24px; + color: var(--ifm-text-color) !important; + margin-right: 0.5rem; + } +} diff --git a/docs-website/src/pages/_components/Quotes/index.js b/docs-website/src/pages/_components/Quotes/index.js index b66a04c2c6538e..664eba0b120519 100644 --- a/docs-website/src/pages/_components/Quotes/index.js +++ b/docs-website/src/pages/_components/Quotes/index.js @@ -32,7 +32,7 @@ const quotesContent = [ const Quote = ({ quote, company }) => { return ( -
    +
    {quote}
    diff --git a/docs-website/src/pages/_components/Quotes/quotes.module.scss b/docs-website/src/pages/_components/Quotes/quotes.module.scss index 59573fa7a597a2..3bd895c4e3b243 100644 --- a/docs-website/src/pages/_components/Quotes/quotes.module.scss +++ b/docs-website/src/pages/_components/Quotes/quotes.module.scss @@ -8,6 +8,7 @@ .companyLogoWrapper { background: #fff; + height: 100px; html[data-theme="dark"] & { filter: invert(1); mix-blend-mode: exclusion; diff --git a/docs-website/src/pages/_components/Section/index.js b/docs-website/src/pages/_components/Section/index.js index 281b8e6928f3ae..6780273d313616 100644 --- a/docs-website/src/pages/_components/Section/index.js +++ b/docs-website/src/pages/_components/Section/index.js @@ -16,8 +16,8 @@ const PromoSection = () => (
    -

    Managed DataHub

    -

    Acryl Data provides a live demo of Managed DataHub every Tuesday and Thursday

    +

    DataHub Cloud

    +

    Acryl Data provides a live demo of DataHub Cloud every Tuesday and Thursday

    Sign up for a live demo → diff --git a/docs-website/src/pages/adoption-stories/_components/LearnItemCard/index.jsx b/docs-website/src/pages/adoption-stories/_components/LearnItemCard/index.jsx new file mode 100644 index 00000000000000..67b94788d97800 --- /dev/null +++ b/docs-website/src/pages/adoption-stories/_components/LearnItemCard/index.jsx @@ -0,0 +1,25 @@ +import React from "react"; +import clsx from "clsx"; +import Link from "@docusaurus/Link"; +import styles from "./styles.module.scss"; + +const LearnItemCard = React.forwardRef(({ company, isSelected }, ref) => { + return ( +
    +
    +
    + {company.name} +
    +
    +
    +
    + + Discover {company.name}'s Story + +
    +
    +
    + ); +}); + +export default LearnItemCard; diff --git a/docs-website/src/pages/adoption-stories/_components/LearnItemCard/styles.module.scss b/docs-website/src/pages/adoption-stories/_components/LearnItemCard/styles.module.scss new file mode 100644 index 00000000000000..881e90a7d09763 --- /dev/null +++ b/docs-website/src/pages/adoption-stories/_components/LearnItemCard/styles.module.scss @@ -0,0 +1,66 @@ +.featureCol { + display: flex; +} + +.card_date { + padding: 1rem 2rem; + font-size: 0.8rem; + font-style: italic; + color: gray; + margin-top: auto; +} + +.card_feature { + font-size: 2rem; + font-weight: 700; +} + +.card_button { + padding: 1rem; + text-align: center; +} + +.card { + color: var(--ifm-text-color); + text-decoration: none !important; + padding: 0rem; + margin-bottom: 2rem; + align-self: stretch; + flex-grow: 1; + &:hover { + opacity: 0.9; + } + + &.selected { + border-color: var(--ifm-color-primary); + box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; + scroll-margin-top: 100px; + } + + + hr { + margin: 0; + } +} + +.featureHeader { + h2 { + margin-bottom: 1rem !important; + font-size: 1.25rem; + } + padding: 1rem 2rem; +} + +.featureBody { + padding: 0 2rem; +} + +.card_image { + margin: 0; + margin-bottom: 0.5rem; + + img { + width: 100%; + height: auto; + } +} \ No newline at end of file diff --git a/docs-website/src/pages/adoption-stories/index.jsx b/docs-website/src/pages/adoption-stories/index.jsx new file mode 100644 index 00000000000000..27f4b876af20a6 --- /dev/null +++ b/docs-website/src/pages/adoption-stories/index.jsx @@ -0,0 +1,83 @@ +import React, { useState, useEffect, useRef } from "react"; +import Layout from "@theme/Layout"; +import BrowserOnly from "@docusaurus/BrowserOnly"; +import LearnItemCard from "./_components/LearnItemCard"; +import styles from "./styles.module.scss"; + +import customerStoriesIndexes from "../../../adoptionStoriesIndexes.json"; + +function AdoptionStoriesListPageContent() { + const companies = (customerStoriesIndexes?.companies || []).filter((company) => company.link); + const [activeFilters, setActiveFilters] = useState([]); + const categories = ["B2B & B2C", "E-Commerce", "Financial & Fintech", "And More"]; + const selectedCardRef = useRef(null); + + const filteredItems = activeFilters.length + ? companies.filter((company) => activeFilters.includes(company.category)) + : companies; + + const handleFilterToggle = (category) => { + if (activeFilters.includes(category)) { + setActiveFilters(activeFilters.filter((filter) => filter !== category)); + } else { + setActiveFilters([...new Set([...activeFilters, category])]); + } + }; + + useEffect(() => { + const selectedSlug = window.location.hash.substring(1); + if (selectedCardRef.current) { + selectedCardRef.current.scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" }); + } + }, [selectedCardRef]); + + return ( + +
    +
    +
    +
    +

    DataHub Adoption Stories

    +

    Learn how the best data and AI teams are using DataHub +
    + Check out more stories on the DataHub Youtube. +

    +
    +
    +
    + For: + {categories.map((category) => ( + + ))} +
    +
    +
    +
    +
    + {filteredItems.map((company) => ( + + ))} +
    +
    +
    + ); +} + +export default function AdoptionStoriesListPage() { + return ( + + {() => } + + ); +} diff --git a/docs-website/src/pages/adoption-stories/styles.module.scss b/docs-website/src/pages/adoption-stories/styles.module.scss new file mode 100644 index 00000000000000..d08b48a011de07 --- /dev/null +++ b/docs-website/src/pages/adoption-stories/styles.module.scss @@ -0,0 +1,7 @@ +.filterBar { + display: flex; + justify-content: center; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} \ No newline at end of file diff --git a/docs-website/src/pages/cloud/CompanyLogos/customersData.json b/docs-website/src/pages/cloud/CompanyLogos/customersData.json new file mode 100644 index 00000000000000..e8a7470eab4702 --- /dev/null +++ b/docs-website/src/pages/cloud/CompanyLogos/customersData.json @@ -0,0 +1,124 @@ +{ + "customers": [ + { + "link": { + "href": "https://www.depop.com/", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/345d124a249d43bf0f20b608f8bfa2f7683311fa-360x180.png" + }, + "alt": "depop" + } + }, + { + "link": { + "href": "https://riskified.com", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/c982e0459bed565273a9b696d9d40aed76f84b1e-360x180.png" + }, + "alt": "Riskified" + } + }, + { + "link": { + "href": "https://get.betterup.com/", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/5988a55b3c090a12ddc3f3cae07b290ac3134771-360x180.png" + }, + "alt": "Betterup" + } + }, + { + "link": { + "href": "https://www.ovoenergy.com/", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/5e7bd32dfbc769849dca136947ebd2fc2f5e91f3-540x270.png" + }, + "alt": "OVO Energy" + } + }, + { + "link": { + "href": "https://myob.com", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/3d7c10e1bd7c7a062250e092d6d9d0553fb57790-360x180.png" + }, + "alt": "Myob" + } + }, + { + "link": { + "href": "https://www.dpgmediagroup.com/", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/b446f595b4b13a72ee82a285924715f950e012ca-540x270.png" + }, + "alt": "DPG Megia" + } + }, + { + "link": { + "href": "https://www.notion.so/", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/c2e84f93572cd1baf30ea7ab8da234ff44182eb6-540x270.png" + }, + "alt": "Notion" + } + }, + { + "link": { + "href": "https://www.sae.org/", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/a9e8586635cb4039cbfc5836a6a5cacdeba9e6b3-540x270.png" + }, + "alt": "SAE International" + } + }, + { + "link": { + "href": "https://viator.com", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/0c17141cad5baa053da18dffb17d9c182d242e69-1200x475.png" + }, + "alt": "Viator" + } + }, + { + "link": { + "href": "https://www.tripadvisor.co.uk/", + "blank": true + }, + "logo": { + "asset": { + "_ref": "https://cdn.sanity.io/images/cqo9wkgf/production/28255a28d261a074a83d1ee8632f0338bf5cf57e-1112x256.png" + }, + "alt": "Trip Advisor" + } + } + ] +} diff --git a/docs-website/src/pages/cloud/CompanyLogos/index.js b/docs-website/src/pages/cloud/CompanyLogos/index.js new file mode 100644 index 00000000000000..d395d5b50e48ac --- /dev/null +++ b/docs-website/src/pages/cloud/CompanyLogos/index.js @@ -0,0 +1,49 @@ +import React, { useEffect, useRef } from 'react'; +import Link from '@docusaurus/Link'; +import styles from './logos.module.scss'; +import customersData from './customersData.json'; +import clsx from 'clsx'; + +const ScrollingCustomers = ({ noOverlay = true, spacing, ...rest }) => { + const customers = customersData.customers; + const duplicatedLogos = [...customers, ...customers, ...customers]; + const scrollingRef = useRef(null); + + useEffect(() => { + if (scrollingRef.current) { + scrollingRef.current.style.setProperty('--customers-length', customers.length); + } + }, [customers.length]); + + return ( +
    +
    + {duplicatedLogos.map((customer, index) => ( + + {customer.logo.alt} + + ))} +
    +
    + ); +}; + +export default ScrollingCustomers; diff --git a/docs-website/src/pages/cloud/CompanyLogos/logos.module.scss b/docs-website/src/pages/cloud/CompanyLogos/logos.module.scss new file mode 100644 index 00000000000000..de404627cf0394 --- /dev/null +++ b/docs-website/src/pages/cloud/CompanyLogos/logos.module.scss @@ -0,0 +1,57 @@ +@keyframes scrollingCustomerAnimate { + 0% { + transform: translateX(0); + } + 100% { + transform: translateX(calc(var(--customers-length) * -220px)); + } +} + +@media (max-width: 767px) { + @keyframes scrollingCustomerAnimate { + 0% { + transform: translateX(0); + } + 100% { + transform: translateX(calc(var(--customers-length) * -166px)); + } + } +} + +.scrollingCustomers { + position: relative; + overflow: hidden; + opacity: 0.5; +} + + +.scrollingCustomers__inner { + display: flex; + padding: 1.25rem 0; + position: relative; + align-items: center; + animation: scrollingCustomerAnimate 60s linear infinite; +} + +.scrollingCustomers__inner img { + max-width: 160px !important; + min-width: unset; + filter: invert(1) brightness(0) contrast(100); // make image black +} + +@media (max-width: 767px) { + .scrollingCustomers__inner img { + width: 126px !important; + } +} + +.animateScrollingCustomers { + display: flex; + animation: scrollingCustomerAnimate 60s linear infinite; +} + +@media (max-width: 767px) { + .animateScrollingCustomers { + width: calc(var(--customers-length) * 126px); + } +} diff --git a/docs-website/src/pages/cloud/Enterprise/index.js b/docs-website/src/pages/cloud/Enterprise/index.js new file mode 100644 index 00000000000000..03cef99058ea2c --- /dev/null +++ b/docs-website/src/pages/cloud/Enterprise/index.js @@ -0,0 +1,48 @@ +import React from "react"; +import clsx from "clsx"; +import Link from "@docusaurus/Link"; +import styles from "./styles.module.scss"; + + +const featuresContent = [ + { + title: "99.5% Uptime SLA", + description: "We’ll focus on keeping DataHub running, so you can focus on the things that really matter." + }, + { + title: "In-VPC Ingestion and
    Data Quality evaluation", + description: "So your actual data never leaves your network." + }, + { + title: "SOC-2 Compliant", + description: "An incredibly high level of security you can trust." + }, +]; + +const Feature = ({ title, description }) => { + return ( +
    +

    +

    {description}

    +
    + ); +}; + +const Features = () => + featuresContent?.length > 0 ? ( +
    +
    +
    Enterprise Ready
    +
    + {featuresContent.map((props, idx) => ( + + ))} +
    + + +4 benefits + +
    +
    + ) : null; + +export default Features; diff --git a/docs-website/src/pages/cloud/Enterprise/styles.module.scss b/docs-website/src/pages/cloud/Enterprise/styles.module.scss new file mode 100644 index 00000000000000..9d95dcc3990b65 --- /dev/null +++ b/docs-website/src/pages/cloud/Enterprise/styles.module.scss @@ -0,0 +1,40 @@ + +.container { + padding: 2vh 6vh; + padding-bottom: 8vh; + display: flex; + justify-content: center; + align-items: center; +} +.wrapper { + display: flex; + justify-content: center; + flex-direction: column; + width: 90%; + max-width: 1200px; + +} + +.title { + font-size: 2.8rem; + font-weight: 600; + margin-bottom: 2rem; +} + +.moreBenefits { + font-weight: 400; + color: var(--ifm-color-primary); + + &:hover { + text-decoration: none; + opacity: 0.8; + } + +} + +@media (max-width: 767px) { + + .container { + padding: 0px 36px; + } +} \ No newline at end of file diff --git a/docs-website/src/pages/cloud/FeatureCards/index.js b/docs-website/src/pages/cloud/FeatureCards/index.js new file mode 100644 index 00000000000000..4a45cbcbe17174 --- /dev/null +++ b/docs-website/src/pages/cloud/FeatureCards/index.js @@ -0,0 +1,130 @@ +import React from "react"; +import clsx from "clsx"; +import styles from "./styles.module.scss"; +import Link from "@docusaurus/Link"; +import { CheckCircleOutlined } from "@ant-design/icons"; + +const data = { + sections: [ + { + title: "Data Discovery", + icon: "/img/assets/data-discovery.svg", + cloudPageLink: "https://www.acryldata.io/acryl-datahub", + cloudBenefits: [ + { text: "Enhanced search ranking", link: "" }, // → + { text: "Personalization for every persona", link: "" }, // → + { text: "A browser extension for BI Tools", link: "" }, // → + { text: "AI-Powered Documentation", link: "" }, // → + { text: "No-Code Automations", link: "" }, // → + ], + coreBenefits: [ + { text: "Integrations for 50+ data sources"}, + { text: "Lineage for tables, columns, and jobs"}, + ], + hiddenCoreBenefits: "+4 benefits", + hiddenCoreBenefitsLink: '/docs/managed-datahub/managed-datahub-overview#search-and-discovery', + }, + { + title: "Data Observability", + icon: "/img/assets/data-ob.svg", + cloudPageLink: "https://www.acryldata.io/observe", + cloudBenefits: [ + { text: "Continuous data quality monitors", link: "" }, // → + { text: "End-to-end data incident tracking & management", link: "" }, // → + { text: "AI-Driven anomaly detection", link: "" }, // → + { text: "Executive Data Health Dashboard", link: "" }, // → + { text: "On-demand data quality evaluation via APIs & UI", link: "" }, // → + ], + coreBenefits: [ + { text: "Surface data quality results"}, + { text: "Create and manage data contracts" }, + ], + hiddenCoreBenefits: "+1 benefit", + hiddenCoreBenefitsLink: '/docs/managed-datahub/managed-datahub-overview#data-observability', + }, + { + title: "Data Governance", + icon: "/img/assets/data-governance.svg", + cloudPageLink: "https://www.acryldata.io/acryl-datahub#governance", + cloudBenefits: [ + { text: "Human-assisted asset certification workflows", link: "" }, // → + { text: "Automations to enforce governance standards", link: "" }, // → + { text: "End-to-end glossary management workflows", link: "" }, // → + { text: "Ownership management workflows", link: "" }, // → + ], + coreBenefits: [ + { text: "Shift-left governance"}, + { text: "Business glossaries"}, + ], + hiddenCoreBenefits: "+1 benefit", + hiddenCoreBenefitsLink: '/docs/managed-datahub/managed-datahub-overview#data-governance', + }, + ], +}; + +const Features = () => ( +
    + {data.sections.map((section, sectionIndex) => ( +
    +
    +
    +
    +
    + {section.title} +
    {section.title}
    +
    +
    +
    +
    DataHub Cloud includes:
    +
    + {section.cloudBenefits.map((benefit, index) => ( +
    + + +
    {benefit.text}
    + +
    + ))} +
    + + Explore in DataHub Cloud + +
    +
    +
    +
    +

    {`In addition to DataHub Core:`}

    +
    + {section.coreBenefits.map((benefit, index) => ( +
    + +
    {benefit.text}
    +
    + ))} +
    + {section.hiddenCoreBenefits} +
    +
    +
    +
    + ))} +
    +); + +export default Features; diff --git a/docs-website/src/pages/cloud/FeatureCards/styles.module.scss b/docs-website/src/pages/cloud/FeatureCards/styles.module.scss new file mode 100644 index 00000000000000..cfba5e217374d8 --- /dev/null +++ b/docs-website/src/pages/cloud/FeatureCards/styles.module.scss @@ -0,0 +1,164 @@ +.container { + padding: 48px 20px; +} + +.rowItem { + justify-content: center; +} + +.cardGroup { + display: flex; + justify-content: space-between; + position: relative; + align-items: flex-start; + margin: 0rem 1.2rem 2rem 1.2rem; +} + +.cardGroupInverse { + flex-direction: row-reverse; + .coreBenefitCard { + margin-left: 15rem; + } +} + +.title { + display: flex; + align-items: center; + margin: 2rem; + + .icon { + width: 4rem; + height: 4rem; + margin-right: 1rem; + } + + .titleText { + font-size: 32px; + font-weight: 700; + } +} + +.card { + background: white; + padding: 40px; + margin: 0; +} + +.sectionTitle { + font-size: 24px; + font-weight: 600; + line-height: 33px; +} + +.benefitIcon { + width: 32px; + height: 32px; + align-items: center; +} + +.moreBenefits { + font-family: Manrope; + font-size: 20px; + font-weight: 400; + line-height: 30px; + text-align: left; + color: rgba(24, 144, 255, 1); + + &:hover { + text-decoration: none; + opacity: 0.8; + } +} + +.featureList { + display: grid; + margin-top: 1rem; + font-weight: 400; + font-size: 20px; + text-align: left; + line-height: 27px; +} + +.exploreButton { + margin-top: 24px; +} + +.cloudBenefitCard { + border-radius: 16px; + border: 2px solid rgba(24, 144, 255, 1); + box-shadow: 0px 4px 25px 0px rgba(24, 144, 255, 0.25); + background: linear-gradient(180deg, #ffffff 27%, #e4f7ff 87%); + min-width: 543px; + z-index: 2; + position: relative; +} + +.coreBenefitCard { + border-radius: 16px; + border: 1px solid rgba(227, 227, 227, 1); + min-width: 451px; + z-index: 1; + position: relative; + margin-top: 14rem; + margin-left: -48px; + padding-left: 72px; +} + +.reversedRow .coreBenefitCard { + margin-left: auto!important; + padding-left: auto!important; + margin-right: -48px; + padding-right: 72px; +} + +.coreBenefitCard h3 { + margin-bottom: 2rem; +} +.coreBenefit { + display: flex; + flex-direction: row; + margin-bottom: 1rem; +} + +.cloudBenefit { + color: rgba(24, 144, 255, 1); + margin-bottom: 1rem; +} +.cloudBenefitLink { + display: flex; + flex-direction: row; +} +.cloudBenefitLinkText { + display: block; +} + +.reversedRow { + flex-direction: row-reverse; +} + +.reversedRow .title { + justify-content: flex-end; +} + +@media (max-width: 768px) { + .cardGroup { + flex-direction: column; + align-items: center; + } + + .cardGroupInverse { + flex-direction: column; + } + + .cloudBenefitCard, .coreBenefitCard { + min-width: 100%; + margin-top: 20px; + } + + .coreBenefitCard { + margin-top: -40px; + margin-left: 0 !important; + margin-right: 0 !important; + padding-top: 80px; + } +} diff --git a/docs-website/src/pages/cloud/Hero/hubspotFormStyles.css b/docs-website/src/pages/cloud/Hero/hubspotFormStyles.css new file mode 100644 index 00000000000000..4baa4fd042d7cc --- /dev/null +++ b/docs-website/src/pages/cloud/Hero/hubspotFormStyles.css @@ -0,0 +1,78 @@ +#hubspotForm { + text-align: left; +} + +#hubspotForm .input { + margin: 0; +} + +#hubspotForm .hs-form input, +#hubspotForm .hs-form select, +#hubspotForm .hs-form textarea { + border: .5px solid #DDD; + background-color: #FFF; + padding: .75rem 1rem; + margin: 0.4rem auto; + border-radius: 8px; + font-size: 16px; + width: 100%; +} + +#hubspotForm .hs-form ::placeholder { + font-style: Manrope; +} + +#hubspotForm .hs-form input[type="submit"] { + background-color: #1990FF; + color: #fff; + border: none; + padding: 10px 20px; /* Custom padding */ + cursor: pointer; + border-radius: 8px; /* Rounded corners */ + font-size: 16px; + font-weight: 600; + width: 100px; +} + +#hubspotForm .hs-form input[type="submit"]:hover { + background-color: #0056b3; /* Button hover color */ +} + +/* hide the label */ + +#hubspotForm .hs-form label span { + display: none; +} + +/* error labels */ + +#hubspotForm .hs-form .hs-error-msgs { + font-size: 15px; + color: red; + list-style-type: none; + padding: 0; +} + +#hubspotForm .hs-form .error { + border: red 1.5px solid !important; +} + +/* customize placeholder style */ + +#hubspotForm .hs-form input::placeholder, +#hubspotForm .hs-form textarea::placeholder, +#hubspotForm .hs-form textarea { + font-size: 16px; + font-weight: 400; + font-family: sans-serif; + color: gray; +} + +#hubspotForm .hs-form .hs_firstname { + padding-right: 0.5rem; +} + +#hubspotForm .hs-form .hs_lastname { + padding-left: 0.5rem; +} + diff --git a/docs-website/src/pages/cloud/Hero/index.js b/docs-website/src/pages/cloud/Hero/index.js new file mode 100644 index 00000000000000..20f13578bbd76c --- /dev/null +++ b/docs-website/src/pages/cloud/Hero/index.js @@ -0,0 +1,109 @@ +import React, { useEffect } from 'react'; +import clsx from "clsx"; +import Link from "@docusaurus/Link"; +import styles from "./styles.module.scss"; +import ScrollingCustomers from '../CompanyLogos'; +import './hubspotFormStyles.css'; + +const Hero = () => { + useEffect(() => { + const script = document.createElement('script'); + script.src = "//js.hsforms.net/forms/embed/v2.js"; + script.async = true; + script.type = 'text/javascript'; + document.body.appendChild(script); + + script.onload = () => { + if (window.hbspt) { + window.hbspt.forms.create({ + region: "na1", + portalId: "14552909", + formId: "ed2447d6-e6f9-4771-8f77-825b114a9421", + target: '#hubspotForm', + }); + + // Modify placeholders after the form has loaded + setTimeout(() => { + const emailInput = document.querySelector('#hubspotForm .hs_email .input > input'); + const firstNameInput = document.querySelector('#hubspotForm .hs_firstname .input > input'); + const lastNameInput = document.querySelector('#hubspotForm .hs_lastname .input > input'); + const phoneInput = document.querySelector('#hubspotForm .hs_phone .input > input'); + const additionalInfoInput = document.querySelector('#hubspotForm .hs_additional_info .input > textarea'); + + if (emailInput) emailInput.placeholder = 'Company Email'; + if (firstNameInput) firstNameInput.placeholder = 'First Name'; + if (lastNameInput) lastNameInput.placeholder = 'Last Name'; + if (phoneInput) phoneInput.placeholder = 'Phone Number'; + if (additionalInfoInput) additionalInfoInput.placeholder = 'How can we help?'; + + const selectNoEElement = document.getElementById("number_of_employees-ed2447d6-e6f9-4771-8f77-825b114a9421"); + if (selectNoEElement) { + const disabledOption = selectNoEElement.querySelector('option[disabled]'); + if (disabledOption) { + disabledOption.text = "Select Number of Employees"; + disabledOption.value = ""; + } + } + const selectfamiliarityElement = document.getElementById("familiarity_with_acryl_datahub-ed2447d6-e6f9-4771-8f77-825b114a9421"); + if (selectfamiliarityElement) { + const disabledOption = selectfamiliarityElement.querySelector('option[disabled]'); + if (disabledOption) { + disabledOption.text = "How familiar are you with DataHub?"; + disabledOption.value = ""; + } + } + + }, 1000); // Delay to ensure the form is fully loaded + + window.hero = new RevenueHero({ routerId: '982' }); + window.hero.schedule('hsForm_ed2447d6-e6f9-4771-8f77-825b114a9421'); + } + }; + + return () => { + document.body.removeChild(script); + }; + }, []); + + return ( +
    +
    +
    +
    +
    +

    DataHub Cloud

    +
    + Experience the premium version of DataHub +
    + with Data Observability and Data Governance built-in. +
    +
    + + Book Demo + + + Live Product Tour → + + +
    +
    +
    +
    +
    +
    Book a free Demo
    +
    + Schedule a personalized demo and get a free a trial. +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + ); +}; + +export default Hero; diff --git a/docs-website/src/pages/cloud/Hero/styles.module.scss b/docs-website/src/pages/cloud/Hero/styles.module.scss new file mode 100644 index 00000000000000..d2a2d333a15478 --- /dev/null +++ b/docs-website/src/pages/cloud/Hero/styles.module.scss @@ -0,0 +1,112 @@ +.col { + padding: 0 2rem; +} + +.hero { + .button { + margin: 0rem 1rem 2rem 1rem; + } + + .hero__title { + font-size: 3rem; + text-align: left; + } + + .hero__secondtitle { + font-size: 2rem; + font-weight: 300; + margin-bottom: 2rem; + text-align: left; + } + + .hero__subtitle { + margin-bottom: 2rem; + font-size: 1.75rem; + line-height: 2.5rem; + margin-left: 0; + text-align: left; + } + + .buttonLightBlue { + color: #1990FF !important; + background: #EAF3FF; + border-color: #EAF3FF; + + &:hover { + background: #D6E7FF; + } + } + .productTourButton { + background-color: transparent; + border: 0; + color: #1990FF !important; + text-align: left; + } + +} + +.hero__cta { + margin: auto; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.formContainer { + padding: 2rem; + margin: 0 auto; + background-color:#F3F3F3; + border: 1px solid #DDD; + align-items: center; + max-width: 540px; + border-radius: 16px; + + .formContent { + width: 90%; + margin: 0 auto; + } + + .formHeader { + justify-content: space-between; + text-align: left; + + .formTitle { + font-size: 24px; + font-weight: 600; + color: #000; + line-height: 28px; + margin-bottom: 12px; + } + + .formSubtitle { + font-size: 14px; + color: #666; + line-height: 14px; + margin-bottom: 8px; + } + } + +} + +.bookButton { + display: none; +} + +@media screen and (max-width: 999px) { + .bookButton { + display: block; + } + .formContainer { + display: none; + } + .productTourButton { + text-align: center!important; + } +} + +@media screen and (min-width: 1000px){ + .productTourButton { + padding-left: 0!important; + margin-left: 0!important; + } +} \ No newline at end of file diff --git a/docs-website/src/pages/cloud/UnifiedTabs/index.js b/docs-website/src/pages/cloud/UnifiedTabs/index.js new file mode 100644 index 00000000000000..0c7ff50ce54471 --- /dev/null +++ b/docs-website/src/pages/cloud/UnifiedTabs/index.js @@ -0,0 +1,76 @@ +import React, { useState } from 'react'; +import { CaretUpFilled } from '@ant-design/icons'; +import styles from './styles.module.scss'; +import clsx from 'clsx'; + +const TabbedComponent = () => { + const [activeTab, setActiveTab] = useState(0); + + const tabs = [ + { + title: 'Data Discovery', + description: 'All the search and discovery features of DataHub Core you already love, enhanced.', + icon: "/img/assets/data-discovery.svg", + link: "https://www.acryldata.io/acryl-datahub", + image: 'https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/saas/demo/discovery.webm', + }, + { + title: 'Data Observability', + description: 'Detect, resolve, and prevent data quality issues before they impact your business. Unify data health signals from all your data quality tools, including dbt tests and more.', + icon: "/img/assets/data-ob.svg", + link: "https://www.acryldata.io/observe", + image: 'https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/saas/demo/observe.webm', + }, + { + title: 'Data Governance', + description: 'Powerful Automation, Reporting and Organizational tools to help you govern effectively.', + icon: "/img/assets/data-governance.svg", + link: "https://www.acryldata.io/acryl-datahub#governance", + image: 'https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/saas/demo/governance.webm', + }, + ]; + + return ( +
    +
    One platform to rule them all
    +
    +
    + {tabs.map((tab, index) => ( + +
    + + {activeTab === index && ( +
    +

    {tab.description}

    + Learn More → +
    + )} +
    + {activeTab === index && ( +
    +
    +
    +
    + )} +
    + ))} +
    +
    +
    +
    +
    +
    +
    + ); +}; + +export default TabbedComponent; diff --git a/docs-website/src/pages/cloud/UnifiedTabs/styles.module.scss b/docs-website/src/pages/cloud/UnifiedTabs/styles.module.scss new file mode 100644 index 00000000000000..7549f743053552 --- /dev/null +++ b/docs-website/src/pages/cloud/UnifiedTabs/styles.module.scss @@ -0,0 +1,179 @@ +.tabbedComponent { + text-align: center; + padding: 20px; + padding-top: 48px; + padding-bottom: 48px; + display: flex; + flex-direction: column; + align-items: center; +} + +.title { + font-size: 2.5rem; + font-weight: 500; + margin-bottom: 2rem; + text-align: center; + position: relative; + padding: 0 2rem; + display: block; + width: 100%; + + &:before, &:after { + content: " "; + height: 2px; + width: calc((100vw - 468px - 120px)/2); + background: #EEE; + display: block; + position: absolute; + top: 50%; + } + + &:before { + left: 0; + } + + &:after { + right: 0; + } +} + +.container { + display: flex; + flex-direction: column; // Changed to column for mobile view + background: white; + border-radius: 1rem; + overflow: hidden; + box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1); + margin: 0rem 5rem; + max-width: 1200px; + width: 100%; +} + +.tabs { + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.tab { + align-items: center; + margin: 0; + border-bottom: 1px solid #e0e0e0; + position: relative; + + &.activeTab { + border-bottom: none; + } +} + +.activeTab .tabButton { + border-bottom: 1px solid #f1f1f1; +} + +.tabButton { + padding: 1.5rem; + background: none; + border: none; + cursor: pointer; + display: flex; + align-items: center; + width: 100%; + justify-content: space-between; + + .tabButton:focus { + outline: none; + } + + .tabTitle { + font-size: 1.5rem; + font-weight: 700; + margin-left: 1rem; + flex-grow: 1; + text-align: left; + } + + .icon { + width: 2.3rem; + height: 2.3rem; + } +} + +.arrow { + margin-left: auto; + transition: transform 0.2s; + color: black; +} + +.upsideDown { + transform: rotate(180deg); +} + +.dropdown { + background-color: #ffffff; + margin-top: 5px; + text-align: left; + padding: 1rem 1.5rem; + + .learnMore { + font-weight: 600; + font-size: 15px; + line-height: 23px; + + &:hover { + text-decoration: none; + opacity: 0.8; + } + } +} + +.imageContainer { + display: none; + justify-content: center; + align-items: center; + background-color: transparent; + margin: 1rem 0; // Added margin for spacing + height: 380px; + border-radius: 24px; +} + +.tabImage { + width: 100%; + height: 100%; + display: flex; + padding: 4px; + align-items: center; + justify-content: center; +} +.tabImage video { + max-height: 100%; + max-width: 100%; + border-radius: 22px; + box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); +} + +.mobileImageContainer { + @media (max-width: 767px) { + display: flex; + } +} + +.webImageContainer { + @media (min-width: 768px) { + display: flex; + flex-grow: 1; + } +} + +@media (min-width: 768px) { + .container { + flex-direction: row; // Change back to row for larger screens + padding: 40px 32px; + } + .tabs { + width: 440px; + } + + .imageContainer { + margin: 1rem; // Reset margin for larger screens + } +} diff --git a/docs-website/src/pages/cloud/index.js b/docs-website/src/pages/cloud/index.js new file mode 100644 index 00000000000000..a403e5dc416169 --- /dev/null +++ b/docs-website/src/pages/cloud/index.js @@ -0,0 +1,66 @@ +import React from "react"; +import Layout from "@theme/Layout"; +import Link from "@docusaurus/Link"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import Enterprise from "./Enterprise"; +import { Section } from "../_components/Section"; +import clsx from "clsx"; +import styles from "./styles.module.scss"; +import UnifiedTabs from "./UnifiedTabs"; +import FeatureCards from "./FeatureCards"; +import Hero from "./Hero"; + +function Home() { + const context = useDocusaurusContext(); + const { siteConfig = {} } = context; + // const { colorMode } = useColorMode(); + + + if (siteConfig.customFields.isSaas) { + window.location.replace("/docs"); + } + + return !siteConfig.customFields.isSaas ? ( + + +
    + +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +

    Get your free trial.

    +
    Data Discovery, Data Quality and Data Governance unified.
    + + + Book Demo + + + Product Tour + +
    + {/*
    +
    + An extension of the DataHub Core project.
    + View Cloud Docs. + +
    */} +
    +
    +
    +
    + + ) : null; +} + +export default Home; diff --git a/docs-website/src/pages/cloud/styles.module.scss b/docs-website/src/pages/cloud/styles.module.scss new file mode 100644 index 00000000000000..7fc18253b13a0d --- /dev/null +++ b/docs-website/src/pages/cloud/styles.module.scss @@ -0,0 +1,11 @@ +.link { + &:hover { + text-decoration: none; + opacity: 0.8; + } +} + +.bgSection { + background-color: #FAFAFA !important; + } + diff --git a/docs-website/src/pages/docs/_components/CustomerCard/customercard.module.scss b/docs-website/src/pages/docs/_components/CustomerCard/customercard.module.scss deleted file mode 100644 index 349f705d25b10d..00000000000000 --- a/docs-website/src/pages/docs/_components/CustomerCard/customercard.module.scss +++ /dev/null @@ -1,56 +0,0 @@ -.card { - color: var(--ifm-hero-text-color); - padding: 0; - margin: 0rem 3rem 2rem 0rem; - text-decoration: none !important; - - .card_button { - padding: 0rem 0rem 0rem 1rem; - text-align: right; - } - - .card_img { - justify-content: center; - display: flex; - height: 250px; - margin: 0; - position: relative; - text-align: center; - } - - .card_body { - padding: 2rem 3rem 2rem 3rem; - - .card_description { - min-height: 20rem; - } - } - - .card_overlay_text { - position: absolute; - text-align: left; - width: 80%; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - color: white; - - .card_customer { - font-size: 3.2rem; - font-weight: 800; - line-height: 1.2; - - } - .card_title { - font-size: 1.2rem; - font-weight: 600; - } - - } - - img { - object-fit: cover; - filter: brightness(50%); - } - -} diff --git a/docs-website/src/pages/docs/_components/CustomerCard/index.jsx b/docs-website/src/pages/docs/_components/CustomerCard/index.jsx deleted file mode 100644 index 36c83226e1f732..00000000000000 --- a/docs-website/src/pages/docs/_components/CustomerCard/index.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import styles from "./customercard.module.scss"; -import Link from "@docusaurus/Link"; - -const CustomerCard = ({ customer, title, imgUrl, description, to,}) => { - return ( -
    -
    -
    - {customer} -
    -
    {customer}
    -
    {title}
    -
    -
    -
    -

    {description}

    -
    - - Discover {customer}'s Story - -
    -
    -
    -
    - ); -}; - -export default CustomerCard; diff --git a/docs-website/src/pages/docs/_components/CustomerCardSection/index.jsx b/docs-website/src/pages/docs/_components/CustomerCardSection/index.jsx index ca34d89df8701d..505a2810c9433c 100644 --- a/docs-website/src/pages/docs/_components/CustomerCardSection/index.jsx +++ b/docs-website/src/pages/docs/_components/CustomerCardSection/index.jsx @@ -57,7 +57,7 @@ const customerCardContent = [ 3. Community-driven project which continually evolves with industry trends and best practices ), - to: "https://www.acryldata.io/blog/data-contracts-in-datahub-combining-verifiability-with-holistic-data-management?utm_source=datahub&utm_medium=referral&utm_content=blog", + to: "https://youtu.be/wsCFnElN_Wo?si=i-bNAQAsbHJq5O9-", }, { customer: "Airtel", @@ -75,7 +75,7 @@ const customerCardContent = [ DataHub to take their data mesh implementation to the next level. ), - to: "https://youtu.be/wsCFnElN_Wo?si=i-bNAQAsbHJq5O9-", + to: "https://www.youtube.com/watch?v=yr24mM91BN4", }, ]; @@ -93,4 +93,4 @@ const CustomerCardSection = () => { ); }; -export default CustomerCardSection; +export default CustomerCardSection; \ No newline at end of file diff --git a/docs-website/src/pages/docs/_components/QuickstartCards/index.jsx b/docs-website/src/pages/docs/_components/QuickstartCards/index.jsx index bcb77c043f1d0b..9f582967175edd 100644 --- a/docs-website/src/pages/docs/_components/QuickstartCards/index.jsx +++ b/docs-website/src/pages/docs/_components/QuickstartCards/index.jsx @@ -10,7 +10,7 @@ const quickstartContent = [ fontColor: '#091013', }, { - title: "Learn about Managed DataHub", + title: "Learn about DataHub Cloud", icon: "acryl-logo-transparent-mark", to: "managed-datahub/managed-datahub-overview", color: '#091013', diff --git a/docs-website/src/pages/index.js b/docs-website/src/pages/index.js index 68b177d10f7aff..2eed41b4ad1bd3 100644 --- a/docs-website/src/pages/index.js +++ b/docs-website/src/pages/index.js @@ -3,13 +3,14 @@ import Layout from "@theme/Layout"; import Link from "@docusaurus/Link"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import CodeBlock from "@theme/CodeBlock"; - +import useBaseUrl from "@docusaurus/useBaseUrl"; import Hero from "./_components/Hero"; import Features from "./_components/Features"; -import Quotes from "./_components/Quotes"; import { Section, PromoSection } from "./_components/Section"; -import { PlatformLogos, CompanyLogos } from "./_components/Logos"; +import { PlatformLogos } from "./_components/Logos"; import RoundedImage from "./_components/RoundedImage"; +import { CompanyLogos } from "./_components/Logos"; +import QuickstartContent from "./_components/QuickstartContent"; const example_recipe = ` source: @@ -38,6 +39,18 @@ function Home() { description="DataHub is a data discovery application built on an extensible data catalog that helps you tame the complexity of diverse data ecosystems." > +
    + +
    + + Check Out Adoption Stories → + +
    +
    +
    @@ -157,10 +170,6 @@ function Home() {
    -
    - - -
    ) : null; } diff --git a/docs-website/static/img/adoption-stories/adoption-stories-adevinta.png b/docs-website/static/img/adoption-stories/adoption-stories-adevinta.png new file mode 100644 index 00000000000000..6c790995843c54 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-adevinta.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-airtel.png b/docs-website/static/img/adoption-stories/adoption-stories-airtel.png new file mode 100644 index 00000000000000..ae5ebdedd47aa1 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-airtel.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-checkout-com.png b/docs-website/static/img/adoption-stories/adoption-stories-checkout-com.png new file mode 100644 index 00000000000000..f6b574e1c37910 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-checkout-com.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-chime.png b/docs-website/static/img/adoption-stories/adoption-stories-chime.png new file mode 100644 index 00000000000000..4c17b1628a36f6 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-chime.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-coursera.png b/docs-website/static/img/adoption-stories/adoption-stories-coursera.png new file mode 100644 index 00000000000000..4f473874d0dc26 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-coursera.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-geotab.png b/docs-website/static/img/adoption-stories/adoption-stories-geotab.png new file mode 100644 index 00000000000000..2b3c8a158273a9 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-geotab.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-grofers.png b/docs-website/static/img/adoption-stories/adoption-stories-grofers.png new file mode 100644 index 00000000000000..51af8a3ad69d7b Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-grofers.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-hurb.png b/docs-website/static/img/adoption-stories/adoption-stories-hurb.png new file mode 100644 index 00000000000000..b7b8bae5d8c321 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-hurb.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-mediamarkt-saturn.png b/docs-website/static/img/adoption-stories/adoption-stories-mediamarkt-saturn.png new file mode 100644 index 00000000000000..ac2f524a7a0e77 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-mediamarkt-saturn.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-netflix.png b/docs-website/static/img/adoption-stories/adoption-stories-netflix.png new file mode 100644 index 00000000000000..de65a4c59419b5 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-netflix.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-optum.png b/docs-website/static/img/adoption-stories/adoption-stories-optum.png new file mode 100644 index 00000000000000..051abaa96a0e01 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-optum.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-pinterest.png b/docs-website/static/img/adoption-stories/adoption-stories-pinterest.png new file mode 100644 index 00000000000000..e005ea6d5750aa Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-pinterest.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-saxo-bank.png b/docs-website/static/img/adoption-stories/adoption-stories-saxo-bank.png new file mode 100644 index 00000000000000..333003d146cf5e Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-saxo-bank.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-viasat.png b/docs-website/static/img/adoption-stories/adoption-stories-viasat.png new file mode 100644 index 00000000000000..b6f633450296c6 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-viasat.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-visa.png b/docs-website/static/img/adoption-stories/adoption-stories-visa.png new file mode 100644 index 00000000000000..11d732faf85fec Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-visa.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-wolt.png b/docs-website/static/img/adoption-stories/adoption-stories-wolt.png new file mode 100644 index 00000000000000..43501a1f2f6d57 Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-wolt.png differ diff --git a/docs-website/static/img/adoption-stories/adoption-stories-zynga.png b/docs-website/static/img/adoption-stories/adoption-stories-zynga.png new file mode 100644 index 00000000000000..94ee9e9b2fb8ee Binary files /dev/null and b/docs-website/static/img/adoption-stories/adoption-stories-zynga.png differ diff --git a/docs-website/static/img/adoption-stories/img.png b/docs-website/static/img/adoption-stories/img.png new file mode 100644 index 00000000000000..4d4971018c3982 Binary files /dev/null and b/docs-website/static/img/adoption-stories/img.png differ diff --git a/docs-website/static/img/assets/business.jpg b/docs-website/static/img/assets/business.jpg deleted file mode 100644 index f5a91928ee2ad8..00000000000000 Binary files a/docs-website/static/img/assets/business.jpg and /dev/null differ diff --git a/docs-website/static/img/assets/data-discovery.svg b/docs-website/static/img/assets/data-discovery.svg new file mode 100644 index 00000000000000..1a6c6f36a231ae --- /dev/null +++ b/docs-website/static/img/assets/data-discovery.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs-website/static/img/assets/data-governance.svg b/docs-website/static/img/assets/data-governance.svg new file mode 100644 index 00000000000000..b1db48e3e76bfe --- /dev/null +++ b/docs-website/static/img/assets/data-governance.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs-website/static/img/assets/data-ob.svg b/docs-website/static/img/assets/data-ob.svg new file mode 100644 index 00000000000000..d630b0a2333a2d --- /dev/null +++ b/docs-website/static/img/assets/data-ob.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs-website/static/img/assets/netflix.jpg b/docs-website/static/img/assets/netflix.jpg deleted file mode 100644 index 8b555f5b63187f..00000000000000 Binary files a/docs-website/static/img/assets/netflix.jpg and /dev/null differ diff --git a/docs-website/static/img/assets/phonecall.jpg b/docs-website/static/img/assets/phonecall.jpg deleted file mode 100644 index 87e48f28213827..00000000000000 Binary files a/docs-website/static/img/assets/phonecall.jpg and /dev/null differ diff --git a/docs-website/static/img/assets/travel.jpg b/docs-website/static/img/assets/travel.jpg deleted file mode 100644 index de2697f5631217..00000000000000 Binary files a/docs-website/static/img/assets/travel.jpg and /dev/null differ diff --git a/docs-website/static/img/cloud-bg.png b/docs-website/static/img/cloud-bg.png new file mode 100644 index 00000000000000..392aec2ff936c5 Binary files /dev/null and b/docs-website/static/img/cloud-bg.png differ diff --git a/docs-website/static/img/logos/companies/checkout-com.svg b/docs-website/static/img/logos/companies/checkout-com.svg new file mode 100644 index 00000000000000..1eae8d3dbd4067 --- /dev/null +++ b/docs-website/static/img/logos/companies/checkout-com.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs-website/static/img/logos/companies/chime.png b/docs-website/static/img/logos/companies/chime.png new file mode 100644 index 00000000000000..c94f9742eb6d55 Binary files /dev/null and b/docs-website/static/img/logos/companies/chime.png differ diff --git a/docs-website/static/img/logos/companies/mediamarkt-saturn.png b/docs-website/static/img/logos/companies/mediamarkt-saturn.png new file mode 100644 index 00000000000000..6e3a39e0ae34b1 Binary files /dev/null and b/docs-website/static/img/logos/companies/mediamarkt-saturn.png differ diff --git a/docs-website/static/img/logos/companies/netflix.png b/docs-website/static/img/logos/companies/netflix.png new file mode 100755 index 00000000000000..151775b3b17bc4 Binary files /dev/null and b/docs-website/static/img/logos/companies/netflix.png differ diff --git a/docs-website/static/img/logos/companies/pinterest.png b/docs-website/static/img/logos/companies/pinterest.png new file mode 100644 index 00000000000000..715c8c33fd85b4 Binary files /dev/null and b/docs-website/static/img/logos/companies/pinterest.png differ diff --git a/docs-website/static/img/logos/companies/visa.png b/docs-website/static/img/logos/companies/visa.png new file mode 100644 index 00000000000000..0a0198bfb76a28 Binary files /dev/null and b/docs-website/static/img/logos/companies/visa.png differ diff --git a/docs-website/static/img/logos/platforms/prefect.svg b/docs-website/static/img/logos/platforms/prefect.svg new file mode 100644 index 00000000000000..54c4e7f553327b --- /dev/null +++ b/docs-website/static/img/logos/platforms/prefect.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs-website/static/img/logos/scrollingCompanies/acertus.webp b/docs-website/static/img/logos/scrollingCompanies/acertus.webp new file mode 100644 index 00000000000000..20ff1c6d7d554f Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/acertus.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/autoscout24.webp b/docs-website/static/img/logos/scrollingCompanies/autoscout24.webp new file mode 100644 index 00000000000000..27b34c6f724dee Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/autoscout24.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/betterup.webp b/docs-website/static/img/logos/scrollingCompanies/betterup.webp new file mode 100644 index 00000000000000..268e019de8fd4a Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/betterup.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/depop.webp b/docs-website/static/img/logos/scrollingCompanies/depop.webp new file mode 100644 index 00000000000000..7c006bb8620607 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/depop.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/dpg-media.png b/docs-website/static/img/logos/scrollingCompanies/dpg-media.png new file mode 100644 index 00000000000000..40022ef0294d73 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/dpg-media.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/dpg_media.webp b/docs-website/static/img/logos/scrollingCompanies/dpg_media.webp new file mode 100644 index 00000000000000..0d5c42847068a1 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/dpg_media.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/event-callout-img.png b/docs-website/static/img/logos/scrollingCompanies/event-callout-img.png new file mode 100644 index 00000000000000..032c34fb6a10ec Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/event-callout-img.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/graham-stirling.png b/docs-website/static/img/logos/scrollingCompanies/graham-stirling.png new file mode 100644 index 00000000000000..14bb23dcef0d94 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/graham-stirling.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/icon-check.svg b/docs-website/static/img/logos/scrollingCompanies/icon-check.svg new file mode 100644 index 00000000000000..83a4d0983ebe0e --- /dev/null +++ b/docs-website/static/img/logos/scrollingCompanies/icon-check.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs-website/static/img/logos/scrollingCompanies/log-saxo.svg b/docs-website/static/img/logos/scrollingCompanies/log-saxo.svg new file mode 100644 index 00000000000000..f6ab4ae071b10c --- /dev/null +++ b/docs-website/static/img/logos/scrollingCompanies/log-saxo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs-website/static/img/logos/scrollingCompanies/myob.png b/docs-website/static/img/logos/scrollingCompanies/myob.png new file mode 100644 index 00000000000000..c161532e650ba4 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/myob.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/myob.webp b/docs-website/static/img/logos/scrollingCompanies/myob.webp new file mode 100644 index 00000000000000..509e3fba0804c5 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/myob.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/notion-logo.png b/docs-website/static/img/logos/scrollingCompanies/notion-logo.png new file mode 100644 index 00000000000000..f65884f53ead89 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/notion-logo.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/notion.webp b/docs-website/static/img/logos/scrollingCompanies/notion.webp new file mode 100644 index 00000000000000..393756855d938c Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/notion.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/ovo_energy.webp b/docs-website/static/img/logos/scrollingCompanies/ovo_energy.webp new file mode 100644 index 00000000000000..3e08a80f5c5f42 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/ovo_energy.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/regeneron.png b/docs-website/static/img/logos/scrollingCompanies/regeneron.png new file mode 100644 index 00000000000000..0a660b95c6d503 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/regeneron.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/regeneron.webp b/docs-website/static/img/logos/scrollingCompanies/regeneron.webp new file mode 100644 index 00000000000000..45bed965f3a01c Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/regeneron.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/riskified.png b/docs-website/static/img/logos/scrollingCompanies/riskified.png new file mode 100644 index 00000000000000..69b94b43fd56e8 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/riskified.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/riskified.webp b/docs-website/static/img/logos/scrollingCompanies/riskified.webp new file mode 100644 index 00000000000000..a2a2f96d5ea7be Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/riskified.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/robinhood.png b/docs-website/static/img/logos/scrollingCompanies/robinhood.png new file mode 100644 index 00000000000000..e75535a383f324 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/robinhood.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/robinhood.webp b/docs-website/static/img/logos/scrollingCompanies/robinhood.webp new file mode 100644 index 00000000000000..661c25c0dd8302 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/robinhood.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/screenshot.png b/docs-website/static/img/logos/scrollingCompanies/screenshot.png new file mode 100644 index 00000000000000..59d982c5aec6d5 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/screenshot.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/twilio-bg.png b/docs-website/static/img/logos/scrollingCompanies/twilio-bg.png new file mode 100644 index 00000000000000..74dcbf88a35951 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/twilio-bg.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/twilio.png b/docs-website/static/img/logos/scrollingCompanies/twilio.png new file mode 100644 index 00000000000000..f226674d0ffbce Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/twilio.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/twilio.webp b/docs-website/static/img/logos/scrollingCompanies/twilio.webp new file mode 100644 index 00000000000000..5ad47d5d5c87e2 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/twilio.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/xero.png b/docs-website/static/img/logos/scrollingCompanies/xero.png new file mode 100644 index 00000000000000..653ddfb2c76869 Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/xero.png differ diff --git a/docs-website/static/img/logos/scrollingCompanies/xero.webp b/docs-website/static/img/logos/scrollingCompanies/xero.webp new file mode 100644 index 00000000000000..9f2b4cc0cf0f9f Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/xero.webp differ diff --git a/docs-website/static/img/logos/scrollingCompanies/zendesk.webp b/docs-website/static/img/logos/scrollingCompanies/zendesk.webp new file mode 100644 index 00000000000000..e790fdc2af6eda Binary files /dev/null and b/docs-website/static/img/logos/scrollingCompanies/zendesk.webp differ diff --git a/docs-website/versions.json b/docs-website/versions.json index afd30a317c618b..5288c42437c779 100644 --- a/docs-website/versions.json +++ b/docs-website/versions.json @@ -1,3 +1,4 @@ [ + "0.14.0", "0.13.1" ] diff --git a/docs-website/yarn.lock b/docs-website/yarn.lock index a93b0e74c327db..bdbf348841de0d 100644 --- a/docs-website/yarn.lock +++ b/docs-website/yarn.lock @@ -3197,22 +3197,6 @@ dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.56.9" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.9.tgz#403e9ced04a34e63f1c383c5b8ee1a94442c8cc4" - integrity sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - "@types/estree-jsx@^1.0.0": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18" @@ -3300,7 +3284,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -3674,10 +3658,10 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== acorn-walk@^8.0.0, acorn-walk@^8.1.1: version "8.3.2" @@ -4173,7 +4157,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.2, braces@~3.0.2: +braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -5330,10 +5314,10 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enhanced-resolve@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" - integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== +enhanced-resolve@^5.17.1: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -8146,11 +8130,11 @@ micromark@^4.0.0: micromark-util-types "^2.0.0" micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": @@ -10866,6 +10850,11 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" +swiper@^11.1.4: + version "11.1.4" + resolved "https://registry.yarnpkg.com/swiper/-/swiper-11.1.4.tgz#2f8e303e8bf9e5bc40a3885fc637ae60ff27996c" + integrity sha512-1n7kbYJB2dFEpUHRFszq7gys/ofIBrMNibwTiMvPHwneKND/t9kImnHt6CfGPScMHgI+dWMbGTycCKGMoOO1KA== + symbol-observable@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -11723,20 +11712,19 @@ webpack-sources@^3.2.2, webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.73.0: - version "5.91.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" - integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== + version "5.94.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== dependencies: - "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1" "@webassemblyjs/wasm-edit" "^1.12.1" "@webassemblyjs/wasm-parser" "^1.12.1" acorn "^8.7.1" - acorn-import-assertions "^1.9.0" + acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.16.0" + enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" diff --git a/docs/SECURITY_STANCE.md b/docs/SECURITY_STANCE.md new file mode 100644 index 00000000000000..a48244d741b70b --- /dev/null +++ b/docs/SECURITY_STANCE.md @@ -0,0 +1,81 @@ +# DataHub's Commitment to Security + +## Introduction + +The open-source DataHub project takes security seriously. As part of our commitment to maintaining a secure environment +for our users and contributors, we have established a comprehensive security policy. This document outlines the key +aspects of our approach to handling security vulnerabilities and keeping our community informed. + +## Our Track Record + +We have a proactive approach to security. To date we've successfully resolved many security related issues reported by +community members or flagged by automated scanners (which includes upstream dependencies and what known risks the +dependencies contain), demonstrating our commitment to maintaining a secure platform. This is a testament to the +collaborative efforts of our community in identifying and helping us address potential vulnerabilities. It truly takes +a village. + +## Reporting Security Issues + +If you believe you've discovered a security vulnerability in DataHub, we encourage you to report it immediately. We have +a dedicated process for handling security-related issues to ensure they're addressed promptly and discreetly. + +For detailed instructions on how to report a security vulnerability, including our PGP key for encrypted communications, +please visit our official security policy page: + +[DataHub Security Policy](https://github.com/datahub-project/datahub/security/policy) + +We kindly ask that you do not disclose the vulnerability publicly until the committers have had the chance to address it +and make an announcement. + +## Our Response Process + +Once a security issue is reported, the project follows a structured process to ensure that each report is handled with +the attention and urgency it deserves. This includes: + +1. Verifying the reported vulnerability +2. Assessing its potential impact +3. Developing and testing a fix +4. Releasing security patches +5. Coordinating the public disclosure of the vulnerability + +All reported vulnerabilities are carefully assessed and triaged internally to ensure appropriate action is taken. + +## How we prioritize (and the dangers of blindly following automated scanners) + +While we appreciate the value of automated vulnerability detection systems like Dependabot, we want to emphasize the +importance of critical thinking when addressing flagged issues. These systems are excellent at providing signals of +potential vulnerabilities, but they shouldn't be followed blindly. + +Here's why: + +1. Context matters: An issue flagged might only affect a non-serving component of the stack (such as our docs-website + code or our CI smoke tests), which may not pose a significant risk to the overall system. + +2. False positives: Sometimes, these systems may flag vulnerabilities in libraries that are linked but not actively + used. For example, a vulnerability in an email library might be flagged even if the software never sends emails. + +3. Exploit feasibility: Some vulnerabilities may be technically present but extremely difficult or impractical to + exploit in real-world scenarios. Automated scanners often don't consider the actual implementation details or + security controls that might mitigate the risk. For example, a reported SQL injection vulnerability might exist in + theory, but if the application uses parameterized queries or has proper input validation in place, the actual risk + could be significantly lower than the scanner suggests. + +We carefully review all automated alerts in the context of our specific implementation to determine the actual risk and +appropriate action. + +## Keeping the Community Informed + +Transparency is key in maintaining trust within our open-source community. To keep everyone informed about +security-related matters: + +- We maintain Security Advisories on the DataHub project GitHub repository +- These advisories include summaries of security issues, details on the fixes implemented, and any necessary mitigation + steps for users + +## Conclusion + +Security is an ongoing process, and we're committed to continuously improving our practices. By working together with +our community of users and contributors, we aim to maintain DataHub as a secure and reliable metadata platform. + +We encourage all users to stay updated with our security announcements and to promptly apply any security patches +released. Together, we can ensure a safer environment for everyone in the DataHub community. diff --git a/docs/_feature-guide-template.md b/docs/_feature-guide-template.md index 9c1aead5e13ab3..f03dffb957a796 100644 --- a/docs/_feature-guide-template.md +++ b/docs/_feature-guide-template.md @@ -5,9 +5,9 @@ import FeatureAvailability from '@site/src/components/FeatureAvailability'; diff --git a/docs/actions/actions/slack.md b/docs/actions/actions/slack.md index a89439825d2da1..73d990948812d5 100644 --- a/docs/actions/actions/slack.md +++ b/docs/actions/actions/slack.md @@ -136,9 +136,9 @@ In the next steps, we'll show you how to configure the Slack Action based on the ### Installation Instructions (Deployment specific) -#### Managed DataHub +#### DataHub Cloud -Head over to the [Configuring Notifications](../../managed-datahub/slack/saas-slack-setup.md#configuring-notifications) section in the Managed DataHub guide to configure Slack notifications for your Managed DataHub instance. +Head over to the [Configuring Notifications](../../managed-datahub/slack/saas-slack-setup.md#configuring-notifications) section in the DataHub Cloud guide to configure Slack notifications for your DataHub Cloud instance. #### Quickstart diff --git a/docs/actions/guides/developing-a-transformer.md b/docs/actions/guides/developing-a-transformer.md index a843dbc846cd51..6406cdfae6104b 100644 --- a/docs/actions/guides/developing-a-transformer.md +++ b/docs/actions/guides/developing-a-transformer.md @@ -23,7 +23,7 @@ print the configuration that is provided when it is created, and print any Event ```python # custom_transformer.py from datahub_actions.transform.transformer import Transformer -from datahub_actions.event.event import EventEnvelope +from datahub_actions.event.event_envelope import EventEnvelope from datahub_actions.pipeline.pipeline_context import PipelineContext from typing import Optional @@ -75,7 +75,7 @@ Next, install the package pip install -e . ``` -inside the module. (alt.`python setup.py`). +inside the module. (alt.`python setup.py`). Once we have done this, our class will be referencable via `custom_transformer_example.custom_transformer:CustomTransformer`. @@ -96,7 +96,7 @@ source: connection: bootstrap: ${KAFKA_BOOTSTRAP_SERVER:-localhost:9092} schema_registry_url: ${SCHEMA_REGISTRY_URL:-http://localhost:8081} -transform: +transform: - type: "custom_transformer_example.custom_transformer:CustomTransformer" config: # Some sample configuration which should be printed on create. @@ -130,4 +130,4 @@ it without defining the full module path. Prerequisites to consideration for inclusion in the core Transformer library include - **Testing** Define unit tests for your Transformer -- **Deduplication** Confirm that no existing Transformer serves the same purpose, or can be easily extended to serve the same purpose \ No newline at end of file +- **Deduplication** Confirm that no existing Transformer serves the same purpose, or can be easily extended to serve the same purpose diff --git a/docs/api/graphql/getting-started.md b/docs/api/graphql/getting-started.md index 98aeca196600d7..dfa556051bd4d1 100644 --- a/docs/api/graphql/getting-started.md +++ b/docs/api/graphql/getting-started.md @@ -27,6 +27,7 @@ For more information on, please refer to the following links." - [Querying for Domain of a Dataset](/docs/api/tutorials/domains.md#read-domains) - [Querying for Glossary Terms of a Dataset](/docs/api/tutorials/terms.md#read-terms) - [Querying for Deprecation of a dataset](/docs/api/tutorials/deprecation.md#read-deprecation) +- [Querying for all DataJobs that belong to a DataFlow](/docs/lineage/airflow.md#get-all-datajobs-associated-with-a-dataflow) ### Search diff --git a/docs/api/tutorials/assertions.md b/docs/api/tutorials/assertions.md index f89fe728f7e977..6837220a581c11 100644 --- a/docs/api/tutorials/assertions.md +++ b/docs/api/tutorials/assertions.md @@ -5,7 +5,7 @@ import TabItem from '@theme/TabItem'; -This guide specifically covers how to use the Assertion APIs for **Acryl Cloud** native assertions, including: +This guide specifically covers how to use the Assertion APIs for **DataHub Cloud** native assertions, including: - [Freshness Assertions](/docs/managed-datahub/observe/freshness-assertions.md) - [Volume Assertions](/docs/managed-datahub/observe/volume-assertions.md) @@ -15,7 +15,7 @@ This guide specifically covers how to use the Assertion APIs for **Acryl Cloud** ## Why Would You Use Assertions APIs? -The Assertions APIs allow you to create, schedule, run, and delete Assertions with Acryl Cloud. +The Assertions APIs allow you to create, schedule, run, and delete Assertions with DataHub Cloud. ### Goal Of This Guide diff --git a/docs/api/tutorials/data-contracts.md b/docs/api/tutorials/data-contracts.md index ac19920a5c4b7b..e977345273e223 100644 --- a/docs/api/tutorials/data-contracts.md +++ b/docs/api/tutorials/data-contracts.md @@ -5,7 +5,7 @@ import TabItem from '@theme/TabItem'; -This guide specifically covers how to use the Data Contract APIs with **Acryl Cloud**. +This guide specifically covers how to use the Data Contract APIs with **DataHub Cloud**. ## Why Would You Use Data Contract APIs? diff --git a/docs/api/tutorials/forms.md b/docs/api/tutorials/forms.md index f60699ffebab58..eb555910f18eb7 100644 --- a/docs/api/tutorials/forms.md +++ b/docs/api/tutorials/forms.md @@ -9,34 +9,65 @@ Documentation Forms are a way for end-users to fill out all mandatory attributes Learn more about forms in the [Documentation Forms Feature Guide](../../../docs/features/feature-guides/documentation-forms.md). - ### Goal Of This Guide -This guide will show you how to create and read forms. +This guide will show you how to +- Create, Update, Read, and Delete a form +- Assign and Remove a form from entities ## Prerequisites For this tutorial, you need to deploy DataHub Quickstart and ingest sample data. For detailed information, please refer to [Datahub Quickstart Guide](/docs/quickstart.md). - -Install the relevant CLI version. Forms are available as of CLI version `0.13.1`. The corresponding SaaS release version is `v0.2.16.5` +Install the relevant CLI version. Forms are available as of CLI version `0.13.1`. The corresponding DataHub Cloud release version is `v0.2.16.5` Connect to your instance via [init](https://datahubproject.io/docs/cli/#init): 1. Run `datahub init` to update the instance you want to load into 2. Set the server to your sandbox instance, `https://{your-instance-address}/gms` 3. Set the token to your access token - - ## Create a Form + + +```graphql +mutation createForm { + createForm( + input: { + id: "metadataInitiative2024", + name: "Metadata Initiative 2024", + description: "How we want to ensure the most important data assets in our organization have all of the most important and expected pieces of metadata filled out", + type: VERIFICATION, + prompts: [ + { + id: "123", + title: "retentionTime", + description: "Apply Retention Time structured property to form", + type: STRUCTURED_PROPERTY, + structuredPropertyParams: { + urn: "urn:li:structuredProperty:retentionTime" + } + } + ], + actors: { + users: ["urn:li:corpuser:jane@email.com", "urn:li:corpuser:john@email.com"], + groups: ["urn:li:corpGroup:team@email.com"] + } + } + ) { + urn + } +} +``` + + Create a yaml file representing the forms you’d like to load. @@ -111,8 +142,42 @@ If successful, you should see `Created form urn:li:form:...` -## Read Property Definition +## Update Form + + + +```graphql +mutation updateForm { + updateForm( + input: { + urn: "urn:li:form:metadataInitiative2024", + name: "Metadata Initiative 2024", + description: "How we want to ensure the most important data assets in our organization have all of the most important and expected pieces of metadata filled out", + type: VERIFICATION, + promptsToAdd: [ + { + id: "456", + title: "deprecationDate", + description: "Deprecation date for dataset", + type: STRUCTURED_PROPERTY, + structuredPropertyParams: { + urn: "urn:li:structuredProperty:deprecationDate" + } + } + ] + promptsToRemove: ["123"] + } + ) { + urn + } +} +``` + + + + +## Read Property Definition @@ -146,3 +211,60 @@ If successful, you should see metadata about your form returned like below. + +## Delete Form + + + + +```graphql +mutation deleteForm { + deleteForm( + input: { + urn: "urn:li:form:metadataInitiative2024" + } + ) +} +``` + + + +## Assign Form to Entities + +For assigning a form to a given list of entities: + + + + +```graphql +mutation batchAssignForm { + batchAssignForm( + input: { + formUrn: "urn:li:form:myform", + entityUrns: ["urn:li:dataset:mydataset1", "urn:li:dataset:mydataset2"] + } + ) +} +``` + + + +## Remove Form from Entities + +For removing a form from a given list of entities: + + + + +```graphql +mutation batchRemoveForm { + batchRemoveForm( + input: { + formUrn: "urn:li:form:myform", + entityUrns: ["urn:li:dataset:mydataset1", "urn:li:dataset:mydataset2"] + } + ) +} +``` + + diff --git a/docs/api/tutorials/operations.md b/docs/api/tutorials/operations.md index 70ede993ec95f6..e1d41f80e68366 100644 --- a/docs/api/tutorials/operations.md +++ b/docs/api/tutorials/operations.md @@ -7,7 +7,7 @@ import TabItem from '@theme/TabItem'; The Operations APIs allow you to report operational changes that were made to a given Dataset or Table using the 'Operation' concept. These operations may be viewed on the Dataset Profile (e.g. as last modified time), accessed via the DataHub GraphQL API, or -used to as inputs to Acryl Cloud [Freshness Assertions](/docs/managed-datahub/observe/freshness-assertions.md). +used as inputs to DataHub Cloud [Freshness Assertions](/docs/managed-datahub/observe/freshness-assertions.md). ### Goal Of This Guide diff --git a/docs/api/tutorials/structured-properties.md b/docs/api/tutorials/structured-properties.md index 940f4632f1d45f..00e992f2bd0bbf 100644 --- a/docs/api/tutorials/structured-properties.md +++ b/docs/api/tutorials/structured-properties.md @@ -32,7 +32,7 @@ Additionally, you need to have the following tools installed according to the me -Install the relevant CLI version. Forms are available as of CLI version `0.13.1`. The corresponding SaaS release version is `v0.2.16.5` +Install the relevant CLI version. Forms are available as of CLI version `0.13.1`. The corresponding DataHub Cloud release version is `v0.2.16.5` Connect to your instance via [init](https://datahubproject.io/docs/cli/#init): - Run `datahub init` to update the instance you want to load into. @@ -56,7 +56,33 @@ Requirements for OpenAPI are: The following code will create a structured property `io.acryl.privacy.retentionTime`. - + + +```graphql +mutation createStructuredProperty { + createStructuredProperty( + input: { + id: "retentionTime", + qualifiedName:"retentionTime", + displayName: "Retention Time", + description: "Retention Time is used to figure out how long to retain records in a dataset", + valueType: "urn:li:dataType:number", + allowedValues: [ + {numberValue: 30, description: "30 days, usually reserved for datasets that are ephemeral and contain pii"}, + {numberValue: 90, description:"description: Use this for datasets that drive monthly reporting but contain pii"}, + {numberValue: 365, description:"Use this for non-sensitive data that can be retained for longer"} + ], + cardinality: SINGLE, + entityTypes: ["urn:li:entityType:dataset", "urn:li:entityType:dataFlow"], + } + ) { + urn + } +} +``` + + + Create a yaml file representing the properties you’d like to load. For example, below file represents a property `io.acryl.privacy.retentionTime`. You can see the full example [here](https://github.com/datahub-project/datahub/blob/example-yaml-sp/metadata-ingestion/examples/structured_properties/struct_props.yaml). @@ -132,29 +158,37 @@ curl -X 'POST' -v \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ + "value": { "qualifiedName": "io.acryl.privacy.retentionTime", - "valueType": "urn:li:dataType:datahub.number", - "description": "Retention Time is used to figure out how long to retain records in a dataset", - "displayName": "Retention Time", - "cardinality": "MULTIPLE", - "entityTypes": [ - "urn:li:entityType:datahub.dataset", - "urn:li:entityType:datahub.dataFlow" - ], - "allowedValues": [ - { - "value": {"double": 30}, - "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" - }, - { - "value": {"double": 60}, - "description": "Use this for datasets that drive monthly reporting but contain pii" - }, - { - "value": {"double": 365}, - "description": "Use this for non-sensitive data that can be retained for longer" - } - ] + "valueType": "urn:li:dataType:datahub.number", + "description": "Retention Time is used to figure out how long to retain records in a dataset", + "displayName": "Retention Time", + "cardinality": "MULTIPLE", + "entityTypes": [ + "urn:li:entityType:datahub.dataset", + "urn:li:entityType:datahub.dataFlow" + ], + "allowedValues": [ + { + "value": { + "double": 30 + }, + "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" + }, + { + "value": { + "double": 60 + }, + "description": "Use this for datasets that drive monthly reporting but contain pii" + }, + { + "value": { + "double": 365 + }, + "description": "Use this for non-sensitive data that can be retained for longer" + } + ] + } }' | jq ``` @@ -355,7 +389,37 @@ Example Response: This action will set/replace all structured properties on the entity. See PATCH operations to add/remove a single property. - + + +```graphql +mutation upsertStructuredProperties { + upsertStructuredProperties( + input: { + assetUrn: "urn:li:mydataset1", + structuredPropertyInputParams: [ + { + structuredPropertyUrn: "urn:li:structuredProperty:mystructuredproperty", + values: [ + { + stringValue: "123" + } + ] + } + ] + } + ) { + properties { + structuredProperty { + urn + } + } + } +} + +``` + + + You can set structured properties to a dataset by creating a dataset yaml file with structured properties. For example, below is a dataset yaml file with structured properties in both the field and dataset level. @@ -418,14 +482,16 @@ curl -X 'POST' -v \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ - "properties": [ - { - "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.retentionTime", - "values": [ - {"double": 60.0} - ] - } - ] + "value": { + "properties": [ + { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.retentionTime", + "values": [ + {"double": 60.0} + ] + } + ] + } }' | jq ``` Example Response: @@ -466,6 +532,31 @@ Or you can run the following command to view the properties associated with the datahub dataset get --urn {urn} ``` +## Remove Structured Properties From a Dataset + +For removing a structured property or list of structured properties from a dataset: + + + + +```graphql +mutation removeStructuredProperties { + removeStructuredProperties( + input: { + assetUrn: "urn:li:mydataset1", + structuredPropertyUrns: ["urn:li:structuredProperty:mystructuredproperty"] + } + ) { + properties { + structuredProperty {urn} + } + } +} +``` + + + + ## Patch Structured Property Value This section will show you how to patch a structured property value - either by removing, adding, or upserting a single property. @@ -546,23 +637,25 @@ curl -X 'POST' -v \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ - "qualifiedName": "io.acryl.privacy.retentionTime02", - "displayName": "Retention Time 02", - "valueType": "urn:li:dataType:datahub.string", - "allowedValues": [ - { - "value": {"string": "foo2"}, - "description": "test foo2 value" - }, - { - "value": {"string": "bar2"}, - "description": "test bar2 value" - } - ], - "cardinality": "SINGLE", - "entityTypes": [ - "urn:li:entityType:datahub.dataset" - ] + "value": { + "qualifiedName": "io.acryl.privacy.retentionTime02", + "displayName": "Retention Time 02", + "valueType": "urn:li:dataType:datahub.string", + "allowedValues": [ + { + "value": {"string": "foo2"}, + "description": "test foo2 value" + }, + { + "value": {"string": "bar2"}, + "description": "test bar2 value" + } + ], + "cardinality": "SINGLE", + "entityTypes": [ + "urn:li:entityType:datahub.dataset" + ] + } }' | jq ``` @@ -605,24 +698,26 @@ Specically, this will set `io.acryl.privacy.retentionTime` as `60.0` and `io.acr ```shell curl -X 'POST' -v \ - 'http://localhost:8080/openapi/v3/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CSampleHiveDataset%2CPROD%29/structuredProperties' \ + 'http://localhost:8080/openapi/v3/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Ahive%2CSampleHiveDataset%2CPROD%29/structuredProperties?createIfNotExists=false' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ - "properties": [ - { - "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.retentionTime", - "values": [ - {"double": 60.0} - ] - }, - { - "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.retentionTime02", - "values": [ - {"string": "bar2"} - ] - } - ] + "value": { + "properties": [ + { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.retentionTime", + "values": [ + {"double": 60.0} + ] + }, + { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.retentionTime02", + "values": [ + {"string": "bar2"} + ] + } + ] + } }' | jq ``` @@ -780,6 +875,38 @@ You can see that the first property has been removed and the second property is In this example, we'll add the property back with a different value, preserving the existing property. + + +```graphql +mutation updateStructuredProperty { + updateStructuredProperty( + input: { + urn: "urn:li:structuredProperty:retentionTime", + displayName: "Retention Time", + description: "Retention Time is used to figure out how long to retain records in a dataset", + newAllowedValues: [ + { + numberValue: 30, + description: "30 days, usually reserved for datasets that are ephemeral and contain pii" + }, + { + numberValue: 90, + description: "Use this for datasets that drive monthly reporting but contain pii" + }, + { + numberValue: 365, + description: "Use this for non-sensitive data that can be retained for longer" + } + ] + } + ) { + urn + } +} + +``` + + ```shell @@ -998,7 +1125,9 @@ curl -X 'POST' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ -"removed": true + "value": { + "removed": true + } }' | jq ``` @@ -1019,11 +1148,13 @@ If you want to **remove the soft delete**, you can do so by either hard deleting ```shell curl -X 'POST' \ - 'http://localhost:8080/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.retentionTime/status?systemMetadata=false' \ + 'http://localhost:8080/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.retentionTime/status?systemMetadata=false&createIfNotExists=false' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ -"removed": false + "value": { + "removed": true + } }' | jq ``` @@ -1158,34 +1289,42 @@ Change the cardinality to `SINGLE` and add a `version`. ```shell curl -X 'POST' -v \ - 'http://localhost:8080/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.retentionTime/propertyDefinition' \ + 'http://localhost:8080/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.retentionTime/propertyDefinition?createIfNotExists=false' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ + "value": { "qualifiedName": "io.acryl.privacy.retentionTime", - "valueType": "urn:li:dataType:datahub.number", - "description": "Retention Time is used to figure out how long to retain records in a dataset", - "displayName": "Retention Time", - "cardinality": "SINGLE", - "version": "20240614080000", - "entityTypes": [ - "urn:li:entityType:datahub.dataset", - "urn:li:entityType:datahub.dataFlow" - ], - "allowedValues": [ - { - "value": {"double": 30}, - "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" - }, - { - "value": {"double": 60}, - "description": "Use this for datasets that drive monthly reporting but contain pii" - }, - { - "value": {"double": 365}, - "description": "Use this for non-sensitive data that can be retained for longer" - } - ] + "valueType": "urn:li:dataType:datahub.number", + "description": "Retention Time is used to figure out how long to retain records in a dataset", + "displayName": "Retention Time", + "cardinality": "SINGLE", + "version": "20240614080000", + "entityTypes": [ + "urn:li:entityType:datahub.dataset", + "urn:li:entityType:datahub.dataFlow" + ], + "allowedValues": [ + { + "value": { + "double": 30 + }, + "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" + }, + { + "value": { + "double": 60 + }, + "description": "Use this for datasets that drive monthly reporting but contain pii" + }, + { + "value": { + "double": 365 + }, + "description": "Use this for non-sensitive data that can be retained for longer" + } + ] + } }' | jq ``` diff --git a/docs/assertions/open-assertions-spec.md b/docs/assertions/open-assertions-spec.md index 519e917c30587f..09dad4710a2e53 100644 --- a/docs/assertions/open-assertions-spec.md +++ b/docs/assertions/open-assertions-spec.md @@ -2,7 +2,7 @@ DataHub is developing an open-source Data Quality Assertions Specification & Compiler that will allow you to declare data quality checks / expectations / assertions using a simple, universal YAML-based format, and then compile this into artifacts that can be registered or directly executed by 3rd party Data Quality tools like [Snowflake DMFs](https://docs.snowflake.com/en/user-guide/data-quality-intro), -dbt tests, Great Expectations or Acryl Cloud natively. +dbt tests, Great Expectations or DataHub Cloud natively. Ultimately, our goal is to provide an framework-agnostic, highly-portable format for defining Data Quality checks, making it seamless to swap out the underlying assertion engine without service disruption for end consumers of the results of these data quality checks in catalogging tools like DataHub. diff --git a/docs/authentication/guides/add-users.md b/docs/authentication/guides/add-users.md index 86dac3ea328e53..30da5c9f229f94 100644 --- a/docs/authentication/guides/add-users.md +++ b/docs/authentication/guides/add-users.md @@ -60,7 +60,7 @@ and many more. This option is strongly recommended for production deployments of DataHub. -### Managed DataHub +### DataHub Cloud Single Sign-On can be configured and enabled by navigating to **Settings** > **SSO** > **OIDC**. Note that a user must have the **Manage Platform Settings** [Platform Privilege](../../authorization/access-policies-guide.md) diff --git a/docs/authentication/guides/sso/configure-oidc-react.md b/docs/authentication/guides/sso/configure-oidc-react.md index 9b4af80bb0ccd3..4dd882cb9a8642 100644 --- a/docs/authentication/guides/sso/configure-oidc-react.md +++ b/docs/authentication/guides/sso/configure-oidc-react.md @@ -48,7 +48,7 @@ Select `Web` as the **Platform**, and `OpenID Connect` as the **Sign on method** Click **Create** and name your application under **General Settings** and save. - **Login Redirect URI** : `https://your-datahub-domain.com/callback/oidc`. -- **Logout Redirect URI**. `https://your-datahub-domain.com` +- **Logout Redirect URI**. `https://your-datahub-domain.com/login`

    @@ -79,7 +79,12 @@ At this point, your app registration should look like the following. Finally, cl :::note Optional Once registration is done, you will land on the app registration **Overview** tab. -On the left-side navigation bar, click on **Authentication** under **Manage** and add extra redirect URIs if need be (if you want to support both local testing and Azure deployments). Finally, click **Save**. +On the left-side navigation bar, click on **Authentication** under **Manage** and add extra redirect URIs if need be (if you want to support both local testing and Azure deployments). + +For logout URI: +- **Front-channel logout URL**. `https://your-datahub-domain.com/login` + +Finally, click **Save**.

    diff --git a/docs/authorization/access-policies-guide.md b/docs/authorization/access-policies-guide.md index 2040d7ff79e99e..0f741a95282bd9 100644 --- a/docs/authorization/access-policies-guide.md +++ b/docs/authorization/access-policies-guide.md @@ -15,7 +15,9 @@ There are 2 types of Access Policy within DataHub:

    -**Platform** Policies determine who has platform-level Privileges on DataHub. These include: +## Platform + +Policies determine who has platform-level Privileges on DataHub. These include: - Managing Users & Groups - Viewing the DataHub Analytics Page @@ -31,7 +33,9 @@ A few Platform Policies in plain English include: - The Data Platform team should be allowed to manage users & groups, view platform analytics, & manage policies themselves - John from IT should be able to invite new users -**Metadata** policies determine who can do what to which Metadata Entities. For example: +## Metadata + +Metadata policies determine who can do what to which Metadata Entities. For example: - Who can edit Dataset Documentation & Links? - Who can add Owners to a Chart? @@ -51,17 +55,14 @@ A few **Metadata** Policies in plain English include: Each of these can be implemented by constructing DataHub Access Policies. -## Access Policies Setup, Prerequisites, and Permissions - -What you need to manage Access Policies on DataHub: +## Using Access Policies +:::note Required Access * **Manage Policies** Privilege This Platform Privilege allows users to create, edit, and remove all Access Policies on DataHub. Therefore, it should only be given to those users who will be serving as Admins of the platform. The default `Admin` role has this Privilege. - - -## Using Access Policies +::: Policies can be created by first navigating to **Settings > Permissions > Policies**. @@ -270,10 +271,5 @@ Policies only affect REST APIs when the environment variable `REST_API_AUTHORIZA Policies are the lowest level primitive for granting Privileges to users on DataHub. Roles are built for convenience on top of Policies. Roles grant Privileges to actors indirectly, driven by Policies -behind the scenes. Both can be used in conjunction to grant Privileges to end users. - - - -### Related Features - -- [Roles](./roles.md) \ No newline at end of file +behind the scenes. Both can be used in conjunction to grant Privileges to end users. For more information on roles +please refer to [Authorization > Roles](./roles.md). diff --git a/docs/authorization/policies.md b/docs/authorization/policies.md index 9867ff6ab264dd..45d0b59e408337 100644 --- a/docs/authorization/policies.md +++ b/docs/authorization/policies.md @@ -49,14 +49,23 @@ and so on. A Metadata Policy can be broken down into 3 parts: -1. **Actors**: The 'who'. Specific users, groups that the policy applies to. +1. **Resources**: The 'which'. Resources that the policy applies to, e.g. "All Datasets". 2. **Privileges**: The 'what'. What actions are being permitted by a policy, e.g. "Add Tags". -3. **Resources**: The 'which'. Resources that the policy applies to, e.g. "All Datasets". +3. **Actors**: The 'who'. Specific users, groups that the policy applies to. -#### Actors +#### Resources + +Resources can be associated with the policy in a number of ways. -We currently support 3 ways to define the set of actors the policy applies to: a) list of users b) list of groups, and -c) owners of the entity. You also have the option to apply the policy to all users or groups. +1. List of resource types - The entity's type for example: dataset, chart, dashboard +2. List of resource URNs +3. List of tags +4. List of domains + +:::note Important Note +The associations in the list above are an *intersection* or an _AND_ operation. For example, if the policy targets +`1. resource type: dataset` and `3. resources tagged: 'myTag'`, it will apply to datasets that are tagged with tag 'myTag'. +::: #### Privileges @@ -64,55 +73,163 @@ Check out the list of privileges [here](https://github.com/datahub-project/datahub/blob/master/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java) . Note, the privileges are semantic by nature, and does not tie in 1-to-1 with the aspect model. -All edits on the UI are covered by a privilege, to make sure we have the ability to restrict write access. +All edits on the UI are covered by a privilege, to make sure we have the ability to restrict write access. See the +[Reference](#Reference) section below. + +#### Actors -We currently support the following: +We currently support 3 ways to define the set of actors the policy applies to: + +1. list of users (or all users) +2. list of groups (or all groups) +3. owners of the entity + +:::note Important Note +Unlike resources, the definitions for actors are a union of the actors. For example, if user `1. Alice` is associated +with the policy as well as `3. owners of the entity`. This means that Alice _OR_ any owner of +the targeted resource(s) will be included in the policy. +::: + +## Managing Policies + +Policies can be managed on the page **Settings > Permissions > Policies** page. The `Policies` tab will only +be visible to those users having the `Manage Policies` privilege. + +Out of the box, DataHub is deployed with a set of pre-baked Policies. The set of default policies are created at deploy +time and can be found inside the `policies.json` file within `metadata-service/war/src/main/resources/boot`. This set of policies serves the +following purposes: + +1. Assigns immutable super-user privileges for the root `datahub` user account (Immutable) +2. Assigns all Platform privileges for all Users by default (Editable) + +The reason for #1 is to prevent people from accidentally deleting all policies and getting locked out (`datahub` super user account can be a backup) +The reason for #2 is to permit administrators to log in via OIDC or another means outside of the `datahub` root account +when they are bootstrapping with DataHub. This way, those setting up DataHub can start managing policies without friction. +Note that these privilege *can* and likely *should* be altered inside the **Policies** page of the UI. + +:::note Pro-Tip +To login using the `datahub` account, simply navigate to `/login` and enter `datahub`, `datahub`. Note that the password can be customized for your +deployment by changing the `user.props` file within the `datahub-frontend` module. Notice that JaaS authentication must be enabled. +:::note + +## Configuration + +By default, the Policies feature is *enabled*. This means that the deployment will support creating, editing, removing, and +most importantly enforcing fine-grained access policies. + +In some cases, these capabilities are not desirable. For example, if your company's users are already used to having free reign, you +may want to keep it that way. Or perhaps it is only your Data Platform team who actively uses DataHub, in which case Policies may be overkill. + +For these scenarios, we've provided a back door to disable Policies in your deployment of DataHub. This will completely hide +the policies management UI and by default will allow all actions on the platform. It will be as though +each user has *all* privileges, both of the **Platform** & **Metadata** flavor. + +To disable Policies, you can simply set the `AUTH_POLICIES_ENABLED` environment variable for the `datahub-gms` service container +to `false`. For example in your `docker/datahub-gms/docker.env`, you'd place + +``` +AUTH_POLICIES_ENABLED=false +``` + +### REST API Authorization + +Policies only affect REST APIs when the environment variable `REST_API_AUTHORIZATION` is set to `true` for GMS. Some policies only apply when this setting is enabled, marked above, and other Metadata and Platform policies apply to the APIs where relevant, also specified in the table above. + +## Reference + +For a complete list of privileges see the +privileges [here](https://github.com/datahub-project/datahub/blob/master/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java). + +### Platform-level privileges -##### Platform-level privileges These privileges are for DataHub operators to access & manage the administrative functionality of the system. -| Platform Privileges | Description | -|-----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Generate Personal Access Tokens | Allow actor to generate personal access tokens for use with DataHub APIs. | -| Manage Domains | Allow actor to create and remove Asset Domains. | -| Manage Home Page Posts | Allow actor to create and delete home page posts | -| Manage Glossaries | Allow actor to create, edit, and remove Glossary Entities | -| Manage Tags | Allow actor to create and remove Tags. | -| Manage Business Attribute | Allow actor to create, update, delete Business Attribute | -| Manage Documentation Forms | Allow actor to manage forms assigned to assets to assist in documentation efforts. | -| Manage Policies | Allow actor to create and remove access control policies. Be careful - Actors with this privilege are effectively super users. | -| Manage Metadata Ingestion | Allow actor to create, remove, and update Metadata Ingestion sources. | -| Manage Secrets | Allow actor to create & remove Secrets stored inside DataHub. | -| Manage Users & Groups | Allow actor to create, remove, and update users and groups on DataHub. | -| View Analytics | Allow actor to view the DataHub analytics dashboard. | -| Manage All Access Tokens | Allow actor to create, list and revoke access tokens on behalf of users in DataHub. Be careful - Actors with this privilege are effectively super users that can impersonate other users. | -| Manage User Credentials | Allow actor to manage credentials for native DataHub users, including inviting new users and resetting passwords | -| Manage Public Views | Allow actor to create, update, and delete any Public (shared) Views. | -| Manage Ownership Types | Allow actor to create, update and delete Ownership Types. | -| Create Business Attribute | Allow actor to create new Business Attribute. | -| Manage Connections | Allow actor to manage connections to external DataHub platforms. | -| Restore Indices API[^1] | Allow actor to use the Restore Indices API. | -| Get Timeseries index sizes API[^1] | Allow actor to use the get Timeseries indices size API. | -| Truncate timeseries aspect index size API[^1] | Allow actor to use the API to truncate a timeseries index. | -| Get ES task status API[^1] | Allow actor to use the get task status API for an ElasticSearch task. | -| Enable/Disable Writeability API[^1] | Allow actor to enable or disable GMS writeability for data migrations. | -| Apply Retention API[^1] | Allow actor to apply retention using the API. | -| Analytics API access[^1] | Allow actor to use API read access to raw analytics data. | -| Manage Tests[^2] | Allow actor to create and remove Asset Tests. | -| View Metadata Proposals[^2] | Allow actor to view the requests tab for viewing metadata proposals. | -| Create metadata constraints[^2] | Allow actor to create metadata constraints. | -| Manage Platform Settings[^2] | Allow actor to view and change platform-level settings, like integrations & notifications. | -| Manage Monitors[^2] | Allow actor to create, update, and delete any data asset monitors, including Custom SQL monitors. Grant with care. | +#### Access & Credentials + +| Platform Privileges | Description | +|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Generate Personal Access Tokens | Allow actor to generate personal access tokens for use with DataHub APIs. | +| Manage Policies | Allow actor to create and remove access control policies. Be careful - Actors with this privilege are effectively super users. | +| Manage Secrets | Allow actor to create & remove Secrets stored inside DataHub. | +| Manage Users & Groups | Allow actor to create, remove, and update users and groups on DataHub. | +| Manage All Access Tokens | Allow actor to create, list and revoke access tokens on behalf of users in DataHub. Be careful - Actors with this privilege are effectively super users that can impersonate other users. | +| Manage User Credentials | Allow actor to manage credentials for native DataHub users, including inviting new users and resetting passwords | | +| Manage Connections | Allow actor to manage connections to external DataHub platforms. | + +#### Product Features + +| Platform Privileges | Description | +|-------------------------------------|--------------------------------------------------------------------------------------------------------------------| +| Manage Home Page Posts | Allow actor to create and delete home page posts | +| Manage Business Attribute | Allow actor to create, update, delete Business Attribute | +| Manage Documentation Forms | Allow actor to manage forms assigned to assets to assist in documentation efforts. | +| Manage Metadata Ingestion | Allow actor to create, remove, and update Metadata Ingestion sources. | +| Manage Features | Umbrella privilege to manage all features. | +| View Analytics | Allow actor to view the DataHub analytics dashboard. | +| Manage Public Views | Allow actor to create, update, and delete any Public (shared) Views. | +| Manage Ownership Types | Allow actor to create, update and delete Ownership Types. | +| Create Business Attribute | Allow actor to create new Business Attribute. | +| Manage Structured Properties | Manage structured properties in your instance. | +| View Tests | View Asset Tests. | +| Manage Tests[^2] | Allow actor to create and remove Asset Tests. | +| View Metadata Proposals[^2] | Allow actor to view the requests tab for viewing metadata proposals. | +| Create metadata constraints[^3] | Allow actor to create metadata constraints. | +| Manage Platform Settings[^2] | Allow actor to view and change platform-level settings, like integrations & notifications. | +| Manage Monitors[^2] | Allow actor to create, update, and delete any data asset monitors, including Custom SQL monitors. Grant with care. | + +[^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true +[^2]: DataHub Cloud only +[^3]: Deprecated feature + +#### Entity Management + +| Platform Privileges | Description | +|-------------------------------------|------------------------------------------------------------------------------------| +| Manage Domains | Allow actor to create and remove Asset Domains. | +| Manage Glossaries | Allow actor to create, edit, and remove Glossary Entities | +| Manage Tags | Allow actor to create and remove Tags. | + +#### System Management + +| Platform Privileges | Description | +|-----------------------------------------------|--------------------------------------------------------------------------| +| Restore Indices API[^1] | Allow actor to use the Restore Indices API. | | +| Get Timeseries index sizes API[^1] | Allow actor to use the get Timeseries indices size API. | +| Truncate timeseries aspect index size API[^1] | Allow actor to use the API to truncate a timeseries index. | +| Get ES task status API[^1] | Allow actor to use the get task status API for an ElasticSearch task. | +| Enable/Disable Writeability API[^1] | Allow actor to enable or disable GMS writeability for data migrations. | +| Apply Retention API[^1] | Allow actor to apply retention using the API. | +| Analytics API access[^1] | Allow actor to use API read access to raw analytics data. | [^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true -[^2]: Managed DataHub only +[^2]: DataHub Cloud only + +### Common Metadata Privileges -##### Common metadata privileges These privileges are to view & modify any entity within DataHub. -| Common Privileges | Description | +#### Entity Privileges + +| Entity Privileges | Description | |-------------------------------------|--------------------------------------------------------------------------------------------| | View Entity Page | Allow actor to view the entity page. | +| Edit Entity | Allow actor to edit any information about an entity. Super user privileges for the entity. | +| Delete | Allow actor to delete this entity. | +| Create Entity | Allow actor to create an entity if it doesn't exist. | +| Entity Exists | Allow actor to determine whether the entity exists. | +| Get Timeline API[^1] | Allow actor to use the GET Timeline API. | +| Get Entity + Relationships API[^1] | Allow actor to use the GET Entity and Relationships API. | +| Get Aspect/Entity Count APIs[^1] | Allow actor to use the GET Aspect/Entity Count APIs. | +| View Entity[^2] | Allow actor to view the entity in search results. | +| Share Entity[^2] | Allow actor to share an entity with another DataHub Cloud instance. | + +[^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true +[^2]: DataHub Cloud only + +#### Aspect Privileges + +| Aspect Privileges | Description | +|-------------------------------------|--------------------------------------------------------------------------------------------| | Edit Tags | Allow actor to add and remove tags to an asset. | | Edit Glossary Terms | Allow actor to add and remove glossary terms to an asset. | | Edit Description | Allow actor to edit the description (documentation) of an entity. | @@ -122,35 +239,57 @@ These privileges are to view & modify any entity within DataHub. | Edit Data Product | Allow actor to edit the Data Product of an entity. | | Edit Deprecation | Allow actor to edit the Deprecation status of an entity. | | Edit Incidents | Allow actor to create and remove incidents for an entity. | -| Edit Entity | Allow actor to edit any information about an entity. Super user privileges for the entity. | | Edit Lineage | Allow actor to add and remove lineage edges for this entity. | | Edit Properties | Allow actor to edit the properties for an entity. | | Edit Owners | Allow actor to add and remove owners of an entity. | -| Delete | Allow actor to delete this entity. | -| Search API[^1] | Allow actor to access search APIs. | -| Get Aspect/Entity Count APIs[^1] | Allow actor to use the GET Aspect/Entity Count APIs. | | Get Timeseries Aspect API[^1] | Allow actor to use the GET Timeseries Aspect API. | -| Get Entity + Relationships API[^1] | Allow actor to use the GET Entity and Relationships API. | -| Get Timeline API[^1] | Allow actor to use the GET Timeline API. | + +[^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true +[^2]: DataHub Cloud only + +#### Proposals + +| Proposals Privileges | Description | +|------------------------------------|--------------------------------------------------------------------------------------------| +| Propose Tags[^2] | Allow actor to propose adding a tag to an asset. | +| Propose Glossary Terms[^2] | Allow actor to propose adding a glossary term to an asset. | +| Propose Documentation[^2] | Allow actor to propose updates to an asset's documentation. | +| Manage Tag Proposals[^2] | Allow actor to manage a proposal to add a tag to an asset. | +| Manage Glossary Term Proposals[^2] | Allow actor to manage a proposal to add a glossary term to an asset. | +| Manage Documentation Proposals[^2] | Allow actor to manage a proposal update an asset's documentation | + +[^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true +[^2]: DataHub Cloud only + +#### System Management + +| System Privileges | Description | +|-------------------------------------|--------------------------------------------------------------------------------------------| | Explain ElasticSearch Query API[^1] | Allow actor to use the Operations API explain endpoint. | | Produce Platform Event API[^1] | Allow actor to produce Platform Events using the API. | -| Create Entity | Allow actor to create an entity if it doesn't exist. | -| Entity Exists | Allow actor to determine whether the entity exists. | -| View Entity[^2] | Allow actor to view the entity in search results. | -| Propose Tags[^2] | Allow actor to propose adding a tag to an asset. | -| Propose Glossary Terms[^2] | Allow actor to propose adding a glossary term to an asset. | -| Propose Documentation[^2] | Allow actor to propose updates to an asset's documentation. | -| Manage Tag Proposals[^2] | Allow actor to manage a proposal to add a tag to an asset. | -| Manage Glossary Term Proposals[^2] | Allow actor to manage a proposal to add a glossary term to an asset. | -| Manage Documentation Proposals[^2] | Allow actor to manage a proposal update an asset's documentation | -| Share Entity[^2] | Allow actor to share an entity with another Acryl instance. | [^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true -[^2]: Managed DataHub only +[^2]: DataHub Cloud only -##### Specific entity-level privileges +### Specific Entity-level Privileges These privileges are not generalizable. +#### Users & Groups + +| Entity | Privilege | Description | +|--------------|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Group | Edit Group Members | Allow actor to add and remove members to a group. | +| Group | Manage Group Notification Settings[^2] | Allow actor to manage notification settings for a group. | +| Group | Manage Group Subscriptions[^2] | Allow actor to manage subscriptions for a group. | +| Group | Edit Contact Information | Allow actor to change the contact information such as email & chat handles. | +| User | Edit Contact Information | Allow actor to change the contact information such as email & chat handles. | +| User | Edit User Profile | Allow actor to change the user's profile including display name, bio, title, profile image, etc. | + +[^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true +[^2]: DataHub Cloud only + +#### Dataset + | Entity | Privilege | Description | |--------------|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Dataset | View Dataset Usage | Allow actor to access dataset usage information (includes usage statistics and queries). | @@ -174,101 +313,22 @@ These privileges are not generalizable. | Domain | Manage Data Products | Allow actor to create, edit, and delete Data Products within a Domain | | GlossaryNode | Manage Direct Glossary Children | Allow actor to create and delete the direct children of this entity. | | GlossaryNode | Manage All Glossary Children | Allow actor to create and delete everything underneath this entity. | -| Group | Edit Group Members | Allow actor to add and remove members to a group. | -| Group | Manage Group Notification Settings[^2] | Allow actor to manage notification settings for a group. | -| Group | Manage Group Subscriptions[^2] | Allow actor to manage subscriptions for a group. | -| Group | Edit Contact Information | Allow actor to change the contact information such as email & chat handles. | -| User | Edit Contact Information | Allow actor to change the contact information such as email & chat handles. | -| User | Edit User Profile | Allow actor to change the user's profile including display name, bio, title, profile image, etc. | - -#### Resources -Resource filter defines the set of resources that the policy applies to is defined using a list of criteria. Each -criterion defines a field type (like type, urn, domain), a list of field values to compare, and a -condition (like EQUALS). It essentially checks whether the field of a certain resource matches any of the input values. -Note, that if there are no criteria or resource is not set, policy is applied to ALL resources. - -For example, the following resource filter will apply the policy to datasets, charts, and dashboards under domain 1. - -```json -{ - "resources": { - "filter": { - "criteria": [ - { - "field": "TYPE", - "condition": "EQUALS", - "values": [ - "dataset", - "chart", - "dashboard" - ] - }, - { - "field": "DOMAIN", - "values": [ - "urn:li:domain:domain1" - ], - "condition": "EQUALS" - } - ] - } - } -} -``` -Where `resources` is inside the `info` aspect of a Policy. - -Supported fields are as follows - -| Field Type | Description | Example | -|---------------|------------------------|-------------------------| -| type | Type of the resource | dataset, chart, dataJob | -| urn | Urn of the resource | urn:li:dataset:... | -| domain | Domain of the resource | urn:li:domain:domainX | - -## Managing Policies -Policies can be managed on the page **Settings > Permissions > Policies** page. The `Policies` tab will only -be visible to those users having the `Manage Policies` privilege. - -Out of the box, DataHub is deployed with a set of pre-baked Policies. The set of default policies are created at deploy -time and can be found inside the `policies.json` file within `metadata-service/war/src/main/resources/boot`. This set of policies serves the -following purposes: - -1. Assigns immutable super-user privileges for the root `datahub` user account (Immutable) -2. Assigns all Platform privileges for all Users by default (Editable) - -The reason for #1 is to prevent people from accidentally deleting all policies and getting locked out (`datahub` super user account can be a backup) -The reason for #2 is to permit administrators to log in via OIDC or another means outside of the `datahub` root account -when they are bootstrapping with DataHub. This way, those setting up DataHub can start managing policies without friction. -Note that these privilege *can* and likely *should* be altered inside the **Policies** page of the UI. - -> Pro-Tip: To login using the `datahub` account, simply navigate to `/login` and enter `datahub`, `datahub`. Note that the password can be customized for your -deployment by changing the `user.props` file within the `datahub-frontend` module. Notice that JaaS authentication must be enabled. - -## Configuration - -By default, the Policies feature is *enabled*. This means that the deployment will support creating, editing, removing, and -most importantly enforcing fine-grained access policies. - -In some cases, these capabilities are not desirable. For example, if your company's users are already used to having free reign, you -may want to keep it that way. Or perhaps it is only your Data Platform team who actively uses DataHub, in which case Policies may be overkill. - -For these scenarios, we've provided a back door to disable Policies in your deployment of DataHub. This will completely hide -the policies management UI and by default will allow all actions on the platform. It will be as though -each user has *all* privileges, both of the **Platform** & **Metadata** flavor. - -To disable Policies, you can simply set the `AUTH_POLICIES_ENABLED` environment variable for the `datahub-gms` service container -to `false`. For example in your `docker/datahub-gms/docker.env`, you'd place - -``` -AUTH_POLICIES_ENABLED=false -``` +[^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true +[^2]: DataHub Cloud only -### REST API Authorization +#### Misc -Policies only affect REST APIs when the environment variable `REST_API_AUTHORIZATION` is set to `true` for GMS. Some policies only apply when this setting is enabled, marked above, and other Metadata and Platform policies apply to the APIs where relevant, also specified in the table above. +| Entity | Privilege | Description | +|--------------|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Tag | Edit Tag Color | Allow actor to change the color of a Tag. | +| Domain | Manage Data Products | Allow actor to create, edit, and delete Data Products within a Domain | +| GlossaryNode | Manage Direct Glossary Children | Allow actor to create and delete the direct children of this entity. | +| GlossaryNode | Manage All Glossary Children | Allow actor to create and delete everything underneath this entity. | +[^1]: Only active if REST_API_AUTHORIZATION_ENABLED is true +[^2]: DataHub Cloud only ## Coming Soon @@ -278,7 +338,7 @@ The DataHub team is hard at work trying to improve the Policies feature. We are Under consideration -- Ability to define Metadata Policies against multiple reosurces scoped to particular "Containers" (e.g. A "schema", "database", or "collection") +- Ability to define Metadata Policies against multiple resources scoped to particular "Containers" (e.g. A "schema", "database", or "collection") ## Feedback / Questions / Concerns diff --git a/docs/authorization/roles.md b/docs/authorization/roles.md index fe41cae2bc3cc3..3e0666a7759c86 100644 --- a/docs/authorization/roles.md +++ b/docs/authorization/roles.md @@ -73,9 +73,9 @@ in DataHub. ### Role Privileges -#### Self-Hosted DataHub and Managed DataHub +#### Self-Hosted DataHub and DataHub Cloud -These privileges are common to both Self-Hosted DataHub and Managed DataHub. +These privileges are common to both Self-Hosted DataHub and DataHub Cloud. ##### Platform Privileges @@ -146,9 +146,9 @@ These privileges are common to both Self-Hosted DataHub and Managed DataHub. | Explain ElasticSearch Query API | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | The ability to use the Operations API explain endpoint. | | Produce Platform Event API | :heavy_check_mark: | :heavy_check_mark: | :x: | The ability to produce Platform Events using the API. | -#### Managed DataHub +#### DataHub Cloud -These privileges are only relevant to Managed DataHub. +These privileges are only relevant to DataHub Cloud. ##### Platform Privileges @@ -156,10 +156,12 @@ These privileges are only relevant to Managed DataHub. |-----------------------------|--------------------|--------------------|--------|-----------------------------------------------------------------------------------------------------| | Manage Tests | :heavy_check_mark: | :heavy_check_mark: | :x: | Create and remove Asset Tests. | | View Metadata Proposals | :heavy_check_mark: | :heavy_check_mark: | :x: | View the requests tab for viewing metadata proposals. | -| Create metadata constraints | :heavy_check_mark: | :heavy_check_mark: | :x: | Create metadata constraints. | +| Create metadata constraints[^1] | :heavy_check_mark: | :heavy_check_mark: | :x: | Create metadata constraints. | | Manage Platform Settings | :heavy_check_mark: | :x: | :x: | View and change platform-level settings, like integrations & notifications. | | Manage Monitors | :heavy_check_mark: | :x: | :x: | Create, update, and delete any data asset monitors, including Custom SQL monitors. Grant with care. | +[^1]: Deprecated feature + ##### Metadata Privileges | Privilege | Admin | Editor | Reader | Description | @@ -177,8 +179,9 @@ These privileges are only relevant to Managed DataHub. | Manage Documentation Proposals | :heavy_check_mark: | :heavy_check_mark: | :x: | The ability to manage a proposal update an asset's documentation | | Manage Group Notification Settings | :heavy_check_mark: | :heavy_check_mark: | :x: | The ability to manage notification settings for a group. | | Manage Group Subscriptions | :heavy_check_mark: | :heavy_check_mark: | :x: | The ability to manage subscriptions for a group. | +| Manage User Subscriptions | :heavy_check_mark: | :x: | :x: | The ability to manage subscriptions for another user. | | Manage Data Contract Proposals | :heavy_check_mark: | :heavy_check_mark: | :x: | The ability to manage a proposal for a Data Contract | -| Share Entity | :heavy_check_mark: | :heavy_check_mark: | :x: | The ability to share an entity with another Acryl instance. | +| Share Entity | :heavy_check_mark: | :heavy_check_mark: | :x: | The ability to share an entity with another DataHub Cloud instance. | ## Additional Resources diff --git a/docs/automations/docs-propagation.md b/docs/automations/docs-propagation.md new file mode 100644 index 00000000000000..a637afcde4dca7 --- /dev/null +++ b/docs/automations/docs-propagation.md @@ -0,0 +1,128 @@ +# Documentation Propagation Automation + +## Introduction + +Documentation Propagation is an automation automatically propagates column and asset (coming soon) descriptions based on downstream column-level lineage and sibling relationships. +It simplifies metadata management by ensuring consistency and reducing the manual effort required for documenting data assets to aid +in Data Governance & Compliance along with Data Discovery. + +This feature is enabled by default in Open Source DataHub. + +## Capabilities + +### Open Source +- **Column-Level Docs Propagation**: Automatically propagate documentation to downstream columns and sibling columns that are derived or dependent on the source column. +- **(Coming Soon) Asset-Level Docs Propagation**: Propagate descriptions to sibling assets. + +### DataHub Cloud (Acryl) +- Includes all the features of Open Source. +- **Propagation Rollback (Undo)**: Offers the ability to undo any propagation changes, providing a safety net against accidental updates. +- **Historical Backfilling**: Automatically backfills historical data for newly documented columns to maintain consistency across time. + +### Comparison of Features + +| Feature | Open Source | DataHub Cloud | +|---------------------------------|-------------|---------------| +| Column-Level Docs Propagation | ✔️ | ✔️ | +| Asset-Level Docs Propagation | ✔️ | ✔️ | +| Downstream Lineage + Siblings | ✔️ | ✔️ | +| Propagation Rollback (Undo) | ❌ | ✔️ | +| Historical Backfilling | ❌ | ✔️ | + +## Enabling Documentation Propagation + +### In Open Source + +Notice that the user must have the `Manage Ingestion` permission to view and enable the feature. + +1. **Navigate to Settings**: Click on the 'Settings' gear in top navigation bar. + +

    + +

    + +2. **Navigate to Features**: Click on the 'Features' tab in the left-hand navigation bar. + +

    + +

    + +3**Enable Documentation Propagation**: Locate the 'Documentation Propagation' section and toggle the feature to enable it for column-level and asset-level propagation. +Currently, Column Level propagation is supported, with asset level propagation coming soon. + +

    + +

    + + +### In DataHub Cloud + +1. **Navigate to Automations**: Click on 'Govern' > 'Automations' in the navigation bar. + +

    + +

    + +2. **Create An Automation**: Click on 'Create' and select 'Column Documentation Propagation'. + +

    + +

    + +3. **Configure Automation**: Fill in the required fields, such as the name, description, and category. Finally, click 'Save and Run' to start the automation + +

    + +

    + +## Propagating for Existing Assets (DataHub Cloud Only) + +In DataHub Cloud, you can back-fill historical data for existing assets to ensure that all existing column descriptions are propagated to downstreams +when you start the automation. Note that it may take some time to complete the initial back-filling process, depending on the number of assets and the complexity of your lineage. + +To do this, navigate to the Automation you created in Step 3 above, click the 3-dot "more" menu: + +

    + +

    + +and then click "Initialize". + +

    + +

    + +This one-time step will kick off the back-filling process for existing descriptions. If you only want to begin propagating +descriptions going forward, you can skip this step. + +## Rolling Back Propagated Descriptions (DataHub Cloud Only) + +In DataHub Cloud, you can rollback all descriptions that have been propagated historically. + +This feature allows you to "clean up" or "undo" any accidental propagation that may have occurred automatically, in the case +that you no longer want propagated descriptions to be visible. + +To do this, navigate to the Automation you created in Step 3 above, click the 3-dot "More" menu + +

    + +

    + +and then click "Rollback". + +

    + +

    + +This one-time step will remove all propagated tags and glossary terms from Snowflake. To simply stop propagating new tags, you can disable the automation. + +## Viewing Propagated Descriptions + +Once the automation is enabled, you'll be able to recognize propagated descriptions as those with the thunderbolt icon next to them: + +The tooltip will provide additional information, including where the description originated and any intermediate hops that were +used to propagate the description. + +

    + +

    \ No newline at end of file diff --git a/docs/automations/snowflake-tag-propagation.md b/docs/automations/snowflake-tag-propagation.md new file mode 100644 index 00000000000000..bdc80376dfb484 --- /dev/null +++ b/docs/automations/snowflake-tag-propagation.md @@ -0,0 +1,88 @@ + +import FeatureAvailability from '@site/src/components/FeatureAvailability'; + +# Snowflake Tag Propagation Automation + + + +## Introduction + +Snowflake Tag Propagation is an automation that allows you to sync DataHub Glossary Terms and Tags on +both columns and tables back to Snowflake. This automation is available in DataHub Cloud (Acryl) only. + +## Capabilities + +- Automatically Add DataHub Glossary Terms to Snowflake Tables and Columns +- Automatically Add DataHub Tags to Snowflake Tables and Columns +- Automatically Remove DataHub Glossary Terms and Tags from Snowflake Tables and Columns when they are removed in DataHub + +## Enabling Snowflake Tag Sync + +1. **Navigate to Automations**: Click on 'Govern' > 'Automations' in the navigation bar. + +

    + +

    + +2. **Create An Automation**: Click on 'Create' and select 'Snowflake Tag Propagation'. + +

    + +

    + +3. **Configure Automation**: Fill in the required fields to connect to Snowflake, along with the name, description, and category. +Note that you can limit propagation based on specific Tags and Glossary Terms. If none are selected, then ALL Tags or Glossary Terms will be automatically +propagated to Snowflake tables and columns. Finally, click 'Save and Run' to start the automation + +

    + +

    + +## Propagating for Existing Assets + +You can back-fill historical data for existing assets to ensure that all existing column and table Tags and Glossary Terms are propagated to Snowflake. +Note that it may take some time to complete the initial back-filling process, depending on the number of Snowflake assets you have. + +To do so, navigate to the Automation you created in Step 3 above, click the 3-dot "More" menu + +

    + +

    + +and then click "Initialize". + +

    + +

    + +This one-time step will kick off the back-filling process for existing descriptions. If you only want to begin propagating +descriptions going forward, you can skip this step. + +## Rolling Back Propagated Tags + +You can rollback all tags and glossary terms that have been propagated historically. + +This feature allows you to "clean up" or "undo" any accidental propagation that may have occurred automatically, in the case +that you no longer want propagated descriptions to be visible. + +To do this, navigate to the Automation you created in Step 3 above, click the 3-dot "More" menu + +

    + +

    + +and then click "Rollback". + +

    + +

    + +This one-time step will remove all propagated tags and glossary terms from Snowflake. To simply stop propagating new tags, you can disable the automation. + +## Viewing Propagated Tags + +You can view propagated Tags (and corresponding DataHub URNs) inside the Snowflake UI to confirm the automation is working as expected. + +

    + +

    diff --git a/docs/dataproducts.md b/docs/dataproducts.md index af30ff2a0aa099..f80a65d9a7bc4b 100644 --- a/docs/dataproducts.md +++ b/docs/dataproducts.md @@ -90,6 +90,8 @@ Here is an example of a Data Product named "Pet of the Week" which belongs to th When bare domain names like `Marketing` is used, `datahub` will first check if a domain like `urn:li:domain:Marketing` is provisioned, failing that; it will check for a provisioned domain that has the same name. If we are unable to resolve bare domain names to provisioned domains, then yaml-based ingestion will refuse to proceeed until the domain is provisioned on DataHub. +This applies to other fields as well, such as owners, ownership types, tags, and terms. + ::: You can also provide fully-qualified domain names (e.g. `urn:li:domain:dcadded3-2b70-4679-8b28-02ac9abc92eb`) to ensure that no ingestion-time domain resolution is needed. diff --git a/docs/deploy/aws.md b/docs/deploy/aws.md index d1003077e24861..67dd9a734e67f5 100644 --- a/docs/deploy/aws.md +++ b/docs/deploy/aws.md @@ -76,7 +76,7 @@ First, if you did not use eksctl to setup the kubernetes cluster, make sure to g Download the IAM policy document for allowing the controller to make calls to AWS APIs on your behalf. ``` -curl -o iam_policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.2.0/docs/install/iam_policy.json +curl -o iam_policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/main/docs/install/iam_policy.json ``` Create an IAM policy based on the policy document by running the following. @@ -148,13 +148,9 @@ datahub-frontend: alb.ingress.kubernetes.io/certificate-arn: <> alb.ingress.kubernetes.io/inbound-cidrs: 0.0.0.0/0 alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' - alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}' + alb.ingress.kubernetes.io/ssl-redirect: '443' hosts: - host: <> - redirectPaths: - - path: /* - name: ssl-redirect - port: use-annotation paths: - /* ``` diff --git a/docs/deploy/confluent-cloud.md b/docs/deploy/confluent-cloud.md index 096fd9984f474d..46931de745be62 100644 --- a/docs/deploy/confluent-cloud.md +++ b/docs/deploy/confluent-cloud.md @@ -17,9 +17,8 @@ First, you'll need to create following new topics in the [Confluent Control Cent 7. (Deprecated) **MetadataAuditEvent_v4**: Metadata change log messages 8. (Deprecated) **FailedMetadataChangeEvent_v4**: Failed to process #1 event 9. **MetadataGraphEvent_v4**: -10. **MetadataGraphEvent_v4**: -11. **PlatformEvent_v1** -12. **DataHubUpgradeHistory_v1**: Notifies the end of DataHub Upgrade job so dependants can act accordingly (_eg_, startup). +10. **PlatformEvent_v1** +11. **DataHubUpgradeHistory_v1**: Notifies the end of DataHub Upgrade job so dependants can act accordingly (_eg_, startup). Note this topic requires special configuration: **Infinite retention**. Also, 1 partition is enough for the occasional traffic. The first five are the most important, and are explained in more depth in [MCP/MCL](../advanced/mcp-mcl.md). The final topics are @@ -243,4 +242,4 @@ Accepting contributions for a setup script compatible with Confluent Cloud! The kafka-setup-job container we ship with is only compatible with a distribution of Kafka wherein ZooKeeper is exposed and available. A version of the job using the [Confluent CLI](https://docs.confluent.io/confluent-cli/current/command-reference/kafka/topic/confluent_kafka_topic_create.html) -would be very useful for the broader community. \ No newline at end of file +would be very useful for the broader community. diff --git a/docs/developers.md b/docs/developers.md index 0c9d7bee3d79f2..401169490dd4b6 100644 --- a/docs/developers.md +++ b/docs/developers.md @@ -46,7 +46,7 @@ Use [gradle wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.ht ./gradlew build ``` -Note that the above will also run run tests and a number of validations which makes the process considerably slower. +Note that the above will also run tests and a number of validations which makes the process considerably slower. We suggest partially compiling DataHub according to your needs: diff --git a/docs/features.md b/docs/features.md index 7951eea1f909c8..bcf3ec3618f88b 100644 --- a/docs/features.md +++ b/docs/features.md @@ -28,7 +28,7 @@ To get started with DataHub, you can use a simple CLI command. Alternatively, yo - [Quickstart](quickstart.md) - [Self-hosted DataHub](deploy/kubernetes.md) -- [Managed DataHub](managed-datahub/managed-datahub-overview.md) +- [DataHub Cloud](managed-datahub/managed-datahub-overview.md) ### Ingestion diff --git a/docs/features/feature-guides/documentation-forms.md b/docs/features/feature-guides/documentation-forms.md index 8b2966810de7c0..2edeb8ce302d77 100644 --- a/docs/features/feature-guides/documentation-forms.md +++ b/docs/features/feature-guides/documentation-forms.md @@ -77,7 +77,7 @@ Provide a step-by-step guide to use feature, including relevant screenshots and/ ### Videos -**Asset Verification in Acryl Cloud** +**Asset Verification in DataHub Cloud**

    @@ -101,7 +101,7 @@ You sure can! Please keep in mind that an Asset will only be considered Document ### API Tutorials -- [Create a Documentation Form](../../../docs/api/tutorials/forms.md) +- [API Guides on Documentation Form](../../../docs/api/tutorials/forms.md) :::note You must create a Structured Property before including it in a Documentation Form. diff --git a/docs/how/kafka-config.md b/docs/how/kafka-config.md index 2f20e8b548f835..06c7418f167136 100644 --- a/docs/how/kafka-config.md +++ b/docs/how/kafka-config.md @@ -116,6 +116,27 @@ We've included an environment variable to customize the consumer group id, if yo - `KAFKA_CONSUMER_GROUP_ID`: The name of the kafka consumer's group id. +#### datahub-mae-consumer MCL Hooks + +By default, all MetadataChangeLog processing hooks execute as part of the same kafka consumer group based on the +previously mentioned `KAFKA_CONSUMER_GROUP_ID`. + +The various MCL Hooks could alsp be separated into separate groups which allows for controlling parallelization and +prioritization of the hooks. + +For example, the `UpdateIndicesHook` and `SiblingsHook` processing can be delayed by other hooks. Separating these +hooks into their own group can reduce latency from these other hooks. The `application.yaml` configuration +includes options for assigning a suffix to the consumer group, see `consumerGroupSuffix`. + +| Environment Variable | Default | Description | +|------------------------------------------------|---------|---------------------------------------------------------------------------------------------| +| SIBLINGS_HOOK_CONSUMER_GROUP_SUFFIX | '' | Siblings processing hook. Considered one of the primary hooks in the `datahub-mae-consumer` | +| UPDATE_INDICES_CONSUMER_GROUP_SUFFIX | '' | Primary processing hook. | +| INGESTION_SCHEDULER_HOOK_CONSUMER_GROUP_SUFFIX | '' | Scheduled ingestion hook. | +| INCIDENTS_HOOK_CONSUMER_GROUP_SUFFIX | '' | Incidents hook. | +| ECE_CONSUMER_GROUP_SUFFIX | '' | Entity Change Event hook which publishes to the Platform Events topic. | +| FORMS_HOOK_CONSUMER_GROUP_SUFFIX | '' | Forms processing. | + ## Applying Configurations ### Docker diff --git a/docs/how/search.md b/docs/how/search.md index 7012f5321f2ff7..c809ab1efba12d 100644 --- a/docs/how/search.md +++ b/docs/how/search.md @@ -71,7 +71,7 @@ After creating a filter, you can choose whether results should or should not mat ### Results -Search results appear ranked by their relevance. In self-hosted DataHub ranking is based on how closely the query matched textual fields of an asset and its metadata. In Managed DataHub, ranking is based on a combination of textual relevance, usage (queries / views), and change frequency. +Search results appear ranked by their relevance. In self-hosted DataHub ranking is based on how closely the query matched textual fields of an asset and its metadata. In DataHub Cloud, ranking is based on a combination of textual relevance, usage (queries / views), and change frequency. With better metadata comes better results. Learn more about ingestion technical metadata in the [metadata ingestion](../../metadata-ingestion/README.md) guide. @@ -148,24 +148,42 @@ The same GraphQL API that powers the Search UI can be used for integrations and programmatic use-cases. ``` -# Example query -{ - searchAcrossEntities( - input: {types: [], query: "*", start: 0, count: 10, filters: [{field: "fieldTags", value: "urn:li:tag:Dimension"}]} +# Example query - search for datasets matching the example_query_text who have the Dimension tag applied to a schema field and are from the data platform looker +query searchEntities { + search( + input: { + type: DATASET, + query: "example_query_text", + orFilters: [ + { + and: [ + { + field: "fieldTags", + values: ["urn:li:tag:Dimension"] + }, + { + field: "platform", + values: ["urn:li:dataPlatform:looker"] + } + ] + } + ], + start: 0, + count: 10 + } ) { start count total searchResults { entity { + urn type ... on Dataset { - urn - type + name platform { name } - name } } } diff --git a/docs/how/updating-datahub.md b/docs/how/updating-datahub.md index a9c24849544a3c..08cfe17fb955fb 100644 --- a/docs/how/updating-datahub.md +++ b/docs/how/updating-datahub.md @@ -18,6 +18,29 @@ This file documents any backwards-incompatible changes in DataHub and assists pe ## Next +### Breaking Changes +- #9857 (#10773) `lower` method was removed from `get_db_name` of `SQLAlchemySource` class. This change will affect the urns of all related to `SQLAlchemySource` entities. + + Old `urn`, where `data_base_name` is `Some_Database`: + ``` + - urn:li:dataJob:(urn:li:dataFlow:(mssql,demodata.Foo.stored_procedures,PROD),Proc.With.SpecialChar) + ``` + New `urn`, where `data_base_name` is `Some_Database`: + ``` + - urn:li:dataJob:(urn:li:dataFlow:(mssql,DemoData.Foo.stored_procedures,PROD),Proc.With.SpecialChar) + ``` + Re-running with stateful ingestion should automatically clear up the entities with old URNS and add entities with new URNs, therefore not duplicating the containers or jobs. + +- #11313 - `datahub get` will no longer return a key aspect for entities that don't exist. + +### Potential Downtime + +### Deprecations + +### Other Notable Changes + +## 0.14.0.2 + ### Breaking Changes - Protobuf CLI will no longer create binary encoded protoc custom properties. Flag added `-protocProp` in case this @@ -55,6 +78,19 @@ New (optional fields `systemMetadata` and `headers`): "headers": {} } ``` +- #10858 Profiling configuration for Glue source has been updated. + +Previously, the configuration was: +```yaml +profiling: {} +``` + +Now, it needs to be: + +```yaml +profiling: + enabled: true +``` ### Potential Downtime @@ -66,7 +102,10 @@ New (optional fields `systemMetadata` and `headers`): ### Other Notable Changes - #10498 - Tableau ingestion can now be configured to ingest multiple sites at once and add the sites as containers. The feature is currently only available for Tableau Server. - +- #10466 - Extends configuration in `~/.datahubenv` to match `DatahubClientConfig` object definition. See full configuration in https://datahubproject.io/docs/python-sdk/clients/. The CLI should now respect the updated configurations specified in `~/.datahubenv` across its functions and utilities. This means that for systems where ssl certification is disabled, setting `disable_ssl_verification: true` in `~./datahubenv` will apply to all CLI calls. +- #11002 - We will not auto-generate a `~/.datahubenv` file. You must either run `datahub init` to create that file, or set environment variables so that the config is loaded. +- #11023 - Added a new parameter to datahub's `put` cli command: `--run-id`. This parameter is useful to associate a given write to an ingestion process. A use-case can be mimick transformers when a transformer for aspect being written does not exist. +- #11051 - Ingestion reports will now trim the summary text to a maximum of 800k characters to avoid generating `dataHubExecutionRequestResult` that are too large for GMS to handle. ## 0.13.3 ### Breaking Changes @@ -80,7 +119,6 @@ New (optional fields `systemMetadata` and `headers`): ### Deprecations ### Other Notable Change -- #10466 - Extends configuration in `~/.datahubenv` to match `DatahubClientConfig` object definition. See full configuration in https://datahubproject.io/docs/python-sdk/clients/. The CLI should now respect the updated configurations specified in `~/.datahubenv` across its functions and utilities. This means that for systems where ssl certification is disabled, setting `disable_ssl_verification: true` in `~./datahubenv` will apply to all CLI calls. ## 0.13.1 diff --git a/docs/incidents/incidents.md b/docs/incidents/incidents.md index 41b4df10b78281..c1412d0bebd043 100644 --- a/docs/incidents/incidents.md +++ b/docs/incidents/incidents.md @@ -417,9 +417,9 @@ Authorization: Bearer Also, remember that you can play with an interactive version of the GraphQL API at `https://your-account-id.acryl.io/api/graphiql` ::: -## Enabling Slack Notifications (Acryl Cloud Only) +## Enabling Slack Notifications (DataHub Cloud Only) -In Acryl Cloud, you can configure your to send Slack notifications to a specific channel when incidents are raised or their status is changed. +In DataHub Cloud, you can configure your to send Slack notifications to a specific channel when incidents are raised or their status is changed. These notifications are also able to tag the immediate asset's owners, along with the owners of downstream assets consuming it. diff --git a/docs/lineage/airflow.md b/docs/lineage/airflow.md index 62715ed506ffe9..65da1fd5251dc9 100644 --- a/docs/lineage/airflow.md +++ b/docs/lineage/airflow.md @@ -17,8 +17,8 @@ There's two actively supported implementations of the plugin, with different Air | Approach | Airflow Version | Notes | | --------- | --------------- | --------------------------------------------------------------------------- | -| Plugin v2 | 2.3+ | Recommended. Requires Python 3.8+ | -| Plugin v1 | 2.1+ | No automatic lineage extraction; may not extract lineage if the task fails. | +| Plugin v2 | 2.3.4+ | Recommended. Requires Python 3.8+ | +| Plugin v1 | 2.1 - 2.8 | No automatic lineage extraction; may not extract lineage if the task fails. | If you're using Airflow older than 2.1, it's possible to use the v1 plugin with older versions of `acryl-datahub-airflow-plugin`. See the [compatibility section](#compatibility) for more details. @@ -45,7 +45,7 @@ Set up a DataHub connection in Airflow, either via command line or the Airflow U airflow connections add --conn-type 'datahub-rest' 'datahub_rest_default' --conn-host 'http://datahub-gms:8080' --conn-password '' ``` -If you are using hosted Acryl Datahub then please use `https://YOUR_PREFIX.acryl.io/gms` as the `--conn-host` parameter. +If you are using DataHub Cloud then please use `https://YOUR_PREFIX.acryl.io/gms` as the `--conn-host` parameter. #### Airflow UI @@ -66,7 +66,7 @@ enabled = True # default ``` | Name | Default value | Description | -|----------------------------|----------------------|------------------------------------------------------------------------------------------| +| -------------------------- | -------------------- | ---------------------------------------------------------------------------------------- | | enabled | true | If the plugin should be enabled. | | conn_id | datahub_rest_default | The name of the datahub rest connection. | | cluster | prod | name of the airflow cluster, this is equivalent to the `env` of the instance | @@ -84,7 +84,7 @@ enabled = True # default ### Installation -The v1 plugin requires Airflow 2.1+ and Python 3.8+. If you're on older versions, it's still possible to use an older version of the plugin. See the [compatibility section](#compatibility) for more details. +The v1 plugin requires Airflow 2.1 - 2.8 and Python 3.8+. If you're on older versions, it's still possible to use an older version of the plugin. See the [compatibility section](#compatibility) for more details. If you're using Airflow 2.3+, we recommend using the v2 plugin instead. If you need to use the v1 plugin with Airflow 2.3+, you must also set the environment variable `DATAHUB_AIRFLOW_PLUGIN_USE_V1_PLUGIN=true`. @@ -132,7 +132,7 @@ conn_id = datahub_rest_default # or datahub_kafka_default ``` | Name | Default value | Description | -|----------------------------|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| -------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | enabled | true | If the plugin should be enabled. | | conn_id | datahub_rest_default | The name of the datahub connection you set in step 1. | | cluster | prod | name of the airflow cluster | @@ -240,6 +240,7 @@ See this [example PR](https://github.com/datahub-project/datahub/pull/10452) whi There might be a case where the DAGs are removed from the Airflow but the corresponding pipelines and tasks are still there in the Datahub, let's call such pipelines ans tasks, `obsolete pipelines and tasks` Following are the steps to cleanup them from the datahub: + - create a DAG named `Datahub_Cleanup`, i.e. ```python @@ -263,8 +264,31 @@ with DAG( ) ``` + - ingest this DAG, and it will remove all the obsolete pipelines and tasks from the Datahub based on the `cluster` value set in the `airflow.cfg` +## Get all dataJobs associated with a dataFlow + +If you are looking to find all tasks (aka DataJobs) that belong to a specific pipeline (aka DataFlow), you can use the following GraphQL query: + +```graphql +query { + dataFlow(urn: "urn:li:dataFlow:(airflow,db_etl,prod)") { + childJobs: relationships( + input: { types: ["IsPartOf"], direction: INCOMING, start: 0, count: 100 } + ) { + total + relationships { + entity { + ... on DataJob { + urn + } + } + } + } + } +} +``` ## Emit Lineage Directly diff --git a/docs/lineage/dagster.md b/docs/lineage/dagster.md index 785aeaa4c03b29..f5f17432abe8ba 100644 --- a/docs/lineage/dagster.md +++ b/docs/lineage/dagster.md @@ -1,70 +1,191 @@ # Dagster Integration -DataHub supports the integration of -- Dagster Pipeline metadata -- Job and Op run information as well as -- Lineage information when present +This connector supports extracting: -## Using Datahub's Dagster Sensor +- Dagster Pipeline and Task Metadata +- Pipeline Run Status +- Table Lineage -Dagster sensors allow us to perform some actions based on some state change. Datahub's defined dagster sensor will emit metadata after every dagster pipeline run execution. This sensor is able to emit both pipeline success as well as failures. For more details about Dagster sensors please refer [Sensors](https://docs.dagster.io/concepts/partitions-schedules-sensors/sensors). +from Dagster. + +## Supported Versions + +This integration was verified using Dagster 1.7.0+. That does not necessary mean it will not be compatible will older versions. + +## Using DataHub's Dagster Sensor + +Dagster Sensors allow us to perform actions when important events occur in Dagster. DataHub's Dagster Sensor allows you to emit metadata after every Dagster pipeline run. This sensor can emit Pipelines, Tasks, and run results. For more details about Dagster Sensors, please refer to [the documentation](https://docs.dagster.io/concepts/partitions-schedules-sensors/sensors). ### Prerequisites -1. You need to create a new dagster project. See . -2. There are two ways to define Dagster definition before starting dagster UI. One using [Definitions](https://docs.dagster.io/_apidocs/definitions#dagster.Definitions) class (recommended) and second using [Repositories](https://docs.dagster.io/concepts/repositories-workspaces/repositories#repositories). -3. Creation of new dagster project by default uses Definition class to define Dagster definition. +1. Create a Dagster project. See [Create New Project](https://docs.dagster.io/getting-started/create-new-project). +2. Create a [Definitions](https://docs.dagster.io/_apidocs/definitions#dagster.Definitions) class or [Repositories](https://docs.dagster.io/concepts/repositories-workspaces/repositories#repositories). +3. The creation of a new Dagster project via the UI uses the Definition class to define Dagster pipelines. ### Setup -1. You need to install the required dependency. +1. Install the DataHub Dagster plugin package: -```shell -pip install acryl_datahub_dagster_plugin -``` + ```shell + pip install acryl_datahub_dagster_plugin + ``` -2. You need to import DataHub dagster plugin provided sensor definition and add it in Dagster definition or dagster repository before starting dagster UI as show below: -**Using Definitions class:** +2. Import the DataHub Dagster Sensor, which is provided in the plugin package, to your Dagster Definition or Repository before starting the Dagster UI: -```python -{{ inline /metadata-ingestion-modules/dagster-plugin/examples/basic_setup.py }} -``` + **Example Definitions Class:** + + ```python + {{ inline /metadata-ingestion-modules/dagster-plugin/examples/basic_setup.py }} + ``` -3. The DataHub dagster plugin provided sensor internally uses below configs. You can set these configs using environment variables. If not set, the sensor will take the default value. +3. The DataHub Dagster plugin-provided sensor internally uses the following configurations. You can override the default config values using environment variables. **Configuration options:** - | Configuration Option | Default value | Description | + | Configuration Option | Default Value | Description | |-------------------------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | datahub_client_config | | The DataHub client config | - | dagster_url | | The url to your Dagster Webserver. | - | capture_asset_materialization | True | Whether to capture asset keys as Dataset on AssetMaterialization event | - | capture_input_output | True | Whether to capture and try to parse input and output from HANDLED_OUTPUT,.LOADED_INPUT events. (currently only [PathMetadataValue](https://github.com/dagster-io/dagster/blob/7e08c05dcecef9fd07f887c7846bd1c9a90e7d84/python_modules/dagster/dagster/_core/definitions/metadata/__init__.py#L655) metadata supported (EXPERIMENTAL) | - | platform_instance | | The instance of the platform that all assets produced by this recipe belong to. It is optional | - | asset_lineage_extractor | | You can implement your own logic to capture asset lineage information. See example for details[] | + | dagster_url | | The URL to your Dagster Webserver. | + | capture_asset_materialization | True | Whether to capture asset keys as DataHub Datasets on AssetMaterialization event | + | capture_input_output | True | Whether to capture and try to parse input and output from HANDLED_OUTPUT, LOADED_INPUT events. (currently only [PathMetadataValue](https://github.com/dagster-io/dagster/blob/7e08c05dcecef9fd07f887c7846bd1c9a90e7d84/python_modules/dagster/dagster/_core/definitions/metadata/__init__.py#L655) metadata supported (EXPERIMENTAL) | + | platform_instance | | The instance of the platform that all assets produced by this recipe belong to. It is optional | + | asset_lineage_extractor | | You can implement your own logic to capture asset lineage information. See example for details[] | + | enable_asset_query_metadata_parsing | | Whether to enable parsing query from asset metadata. See below for details[] | + +4. Once the Dagster UI is running, turn on the provided Sensor execution. To turn on the Sensor, click on the **Overview** tab and then on the **Sensors** tab. Simply toggle the DataHub sensor on. + +Woohoo! Now, the DataHub Sensor is ready to emit metadata after every pipeline run. + +### How to Validate Installation + +1. Navigate to the Dagster UI. +2. Go to **Overview** > **Sensors** and look for `datahub_sensor`. +3. Start a Dagster Job. In the daemon logs, you should see DataHub-related log messages: + + ``` + datahub_sensor - Emitting metadata... + ``` + + This means that DataHub's sensor is correctly configured to emit metadata to DataHub. + +## Capturing Table Lineage + +There are a few ways to extract lineage, or relationships between tables, from Dagster. We recommend one or more of the following approaches to extract lineage automatically. + +### Extracting Lineage from SQL Queries + +#### But First: Extracting Asset Identifiers + +When naming Dagster Assets, we recommend the following structure: + +`key_prefix=["env", "platform", "db_name", "schema_name"]` + +This ensures that we correctly resolve the Asset name to a Dataset URN in DataHub. -4. Once Dagster UI is up, you need to turn on the provided sensor execution. To turn on the sensor, click on Overview tab and then on Sensors tab. You will see a toggle button in front of all defined sensors to turn it on/off. +For example: -5. DataHub dagster plugin provided sensor is ready to emit metadata after every dagster pipeline run execution. +```python +@asset( + key_prefix=["prod", "snowflake", "db_name", "schema_name"], # the fqdn asset name to be able to identify platform and make sure the asset is unique + deps=[iris_dataset], +) +``` + +If you properly name your Dagster Asset, you can establish a connection between the Asset and the dataset it is referring to, which is likely already stored in DataHub. This allows for accurate tracking and lineage information in the next steps. -### How to validate installation +If you follow a different naming convention, you can create your own `asset_keys_to_dataset_urn_converter` logic and set a custom callback function. This can be used to generate a DataHub Dataset URN in any way you please, from metadata or otherwise. -1. Go and check in Dagster UI at Overview -> Sensors menu if you can see the 'datahub_sensor'. -2. Run a Dagster Job. In the dagster daemon logs, you should see DataHub related log messages like: +Here is an example that can create a DataHub URN from the Asset key naming convention specified above: +```python +def asset_keys_to_dataset_urn_converter( + self, asset_key: Sequence[str] +) -> Optional[DatasetUrn]: + """ + Convert asset key to dataset urn + + By default, we assume the following asset key structure: + key_prefix=["prod", "snowflake", "db_name", "schema_name"] + """ + if len(asset_key) >= 3: + return DatasetUrn( + platform=asset_key[1], + env=asset_key[0], + name=".".join(asset_key[2:]), + ) + else: + return None ``` -datahub_sensor - Emitting metadata... + +DataHub's Dagster integration can automatically detect dataset inputs and outputs for Software Defined Assets by analyzing the SQL queries it executes. To enable this feature, simply add the executed query to the Asset Metadata using the `Query` tag. + +Here's an example of a Software Defined Asset with an annotated Query: + +```python +@asset(key_prefix=["prod", "snowflake", "db_name", "schema_name"]) +def my_asset_table_a(snowflake: SnowflakeResource) -> MaterializeResult: + query = """ + create or replace table db_name.schema_name.my_asset_table_a as ( + SELECT * + FROM db_name.schema_name.my_asset_table_b + ); + """ + with snowflake.get_connection() as connection: + with connection.cursor() as cursor: + cursor.execute(query) + return MaterializeResult( + metadata={ + "Query": MetadataValue.text(query), + } + ) ``` -## Dagster Ins and Out +In this example, the plugin will automatically identify and set the upstream lineage as `db_name.schema_name.my_asset_table_b`. + +Note: Proper asset naming is crucial, as the query parser determines the query language from the generated URN. In the example above, it will be `snowflake`. + +For a complete example job, refer to the [iris.py file](https://github.com/datahub-project/datahub/blob/master/metadata-ingestion-modules/dagster-plugin/examples/iris.py) in the DataHub repository. + +### Extracting Lineage using SnowflakePandasIOManager + +The plugin offers an extended version of base SnowflakePandasIOManager provided by Dagster called `DataHubSnowflakePandasIOManager`. This version automatically captures Snowflake assets created by the IO manager and adds DataHub URN and links to the assets in Dagster. + +To use it, simply replace `SnowflakePandasIOManager` with `DataHubSnowflakePandasIOManager`. The enhanced version accepts two additional parameters: + +1. `datahub_base_url`: The base URL of the DataHub UI, used to generate direct links to Snowflake Datasets in DataHub. If not set, no URL will be generated. +2. `datahub_env`: The DataHub environment to use when generating URNs. Defaults to `PROD` if not specified. + +Example usage: + +```python +from datahub_dagster_plugin.modules.snowflake_pandas.datahub_snowflake_pandas_io_manager import ( + DataHubSnowflakePandasIOManager, +) +# ... +resources={ + "snowflake_io_manager": DataHubSnowflakePandasIOManager( + database="MY_DB", + account="my_snowflake_account", + warehouse="MY_WAREHOUSE", + user="my_user", + password="my_password", + role="my_role", + datahub_base_url="http://localhost:9002", + ), +} +``` + +### Using Dagster Ins and Out + +We can provide inputs and outputs to both Assets and Ops explicitly using a dictionary of `Ins` and `Out` corresponding to the decorated function arguments. While providing inputs and outputs, we can provide additional metadata as well. + +To create dataset upstream and downstream dependency for the Assets and Ops, you can use an ins and out dictionary with metadata provided. For reference, look at the sample jobs created using assets [`assets_job.py`](../../metadata-ingestion-modules/dagster-plugin/examples/assets_job.py), or ops [`ops_job.py`](../../metadata-ingestion-modules/dagster-plugin/examples/ops_job.py). -We can provide inputs and outputs to both assets and ops explicitly using a dictionary of `Ins` and `Out` corresponding to the decorated function arguments. While providing inputs and outputs explicitly we can provide metadata as well. -To create dataset upstream and downstream dependency for the assets and ops you can use an ins and out dictionary with metadata provided. For reference, look at the sample jobs created using assets [`assets_job.py`](../../metadata-ingestion-modules/dagster-plugin/examples/assets_job.py), or ops [`ops_job.py`](../../metadata-ingestion-modules/dagster-plugin/examples/ops_job.py). +### Using Custom Logic for Extracting Lineage -## Define your custom logic to capture asset lineage information -You can define your own logic to capture asset lineage information. +You can define your own logic to capture asset lineage information. -The output Tuple contains two dictionaries, one for input assets and the other for output assets. The key of the dictionary is the op key and the value is the set of asset urns that are upstream or downstream of the op. +The output Tuple contains two dictionaries, one for input assets and the other for output assets. The key of the dictionary is the op key and the value is the set of asset URNs that are upstream or downstream of the op. ```python from datahub_dagster_plugin.client.dagster_generator import DagsterGenerator, DatasetLineage @@ -74,16 +195,16 @@ def asset_lineage_extractor( dagster_generator: DagsterGenerator, graph: DataHubGraph, ) -> Dict[str, DatasetLineage]: - dataset_lineage: Dict[str, DatasetLineage] = {} + dataset_lineage: Dict[str, DatasetLineage] = {} # Extracting input and output assets from the context return dataset_lineage ``` -[See example job here](https://github.com/datahub-project/datahub/blob/master/metadata-ingestion-modules/dagster-plugin/examples/advanced_ops_jobs.py). +[See an example job here](https://github.com/datahub-project/datahub/blob/master/metadata-ingestion-modules/dagster-plugin/examples/advanced_ops_jobs.py). ## Debugging -### Connection error for Datahub Rest URL +### Connection Error for DataHub Rest URL -If you get ConnectionError: HTTPConnectionPool(host='localhost', port=8080), then in that case your DataHub GMS service is not up. +If you get `ConnectionError: HTTPConnectionPool(host='localhost', port=8080)`, then in that case your DataHub GMS service is not up. diff --git a/docs/lineage/prefect.md b/docs/lineage/prefect.md new file mode 100644 index 00000000000000..538e50d979e01d --- /dev/null +++ b/docs/lineage/prefect.md @@ -0,0 +1,137 @@ +# Prefect Integration with DataHub + +## Overview + +DataHub supports integration with Prefect, allowing you to ingest: + +- Prefect flow and task metadata +- Flow run and Task run information +- Lineage information (when available) + +This integration enables you to track and monitor your Prefect workflows within DataHub, providing a comprehensive view of your data pipeline activities. + +## Prefect DataHub Block + +### What is a Prefect DataHub Block? + +Blocks in Prefect are primitives that enable the storage of configuration and provide an interface for interacting with external systems. The `prefect-datahub` block uses the [DataHub REST](../../metadata-ingestion/sink_docs/datahub.md#datahub-rest) emitter to send metadata events while running Prefect flows. + +### Prerequisites + +1. Use either Prefect Cloud (recommended) or a self-hosted Prefect server. +2. For Prefect Cloud setup, refer to the [Cloud Quickstart](https://docs.prefect.io/latest/getting-started/quickstart/) guide. +3. For self-hosted Prefect server setup, refer to the [Host Prefect Server](https://docs.prefect.io/latest/guides/host/) guide. +4. Ensure the Prefect API URL is set correctly. Verify using: + + ```shell + prefect profile inspect + ``` + +5. API URL format: + - Prefect Cloud: `https://api.prefect.cloud/api/accounts//workspaces/` + - Self-hosted: `http://:/api` + +## Setup Instructions + +### 1. Installation + +Install `prefect-datahub` using pip: + +```shell +pip install 'prefect-datahub' +``` + +Note: Requires Python 3.7+ + +### 2. Saving Configurations to a Block + +Save your configuration to the [Prefect block document store](https://docs.prefect.io/latest/concepts/blocks/#saving-blocks): + +```python +from prefect_datahub.datahub_emitter import DatahubEmitter + +DatahubEmitter( + datahub_rest_url="http://localhost:8080", + env="PROD", + platform_instance="local_prefect" +).save("MY-DATAHUB-BLOCK") +``` + +Configuration options: + +| Config | Type | Default | Description | +|--------|------|---------|-------------| +| datahub_rest_url | `str` | `http://localhost:8080` | DataHub GMS REST URL | +| env | `str` | `PROD` | Environment for assets (see [FabricType](https://datahubproject.io/docs/graphql/enums/#fabrictype)) | +| platform_instance | `str` | `None` | Platform instance for assets (see [Platform Instances](https://datahubproject.io/docs/platform-instances/)) | + +### 3. Using the Block in Prefect Workflows + +Load and use the saved block in your Prefect workflows: + +```python +from prefect import flow, task +from prefect_datahub.dataset import Dataset +from prefect_datahub.datahub_emitter import DatahubEmitter + +datahub_emitter = DatahubEmitter.load("MY-DATAHUB-BLOCK") + +@task(name="Transform", description="Transform the data") +def transform(data): + data = data.split(" ") + datahub_emitter.add_task( + inputs=[Dataset("snowflake", "mydb.schema.tableA")], + outputs=[Dataset("snowflake", "mydb.schema.tableC")], + ) + return data + +@flow(name="ETL flow", description="Extract transform load flow") +def etl(): + data = transform("This is data") + datahub_emitter.emit_flow() +``` + +**Note**: To emit tasks, you must call `emit_flow()`. Otherwise, no metadata will be emitted. + +## Concept Mapping + +| Prefect Concept | DataHub Concept | +|-----------------|-----------------| +| [Flow](https://docs.prefect.io/latest/concepts/flows/) | [DataFlow](https://datahubproject.io/docs/generated/metamodel/entities/dataflow/) | +| [Flow Run](https://docs.prefect.io/latest/concepts/flows/#flow-runs) | [DataProcessInstance](https://datahubproject.io/docs/generated/metamodel/entities/dataprocessinstance) | +| [Task](https://docs.prefect.io/latest/concepts/tasks/) | [DataJob](https://datahubproject.io/docs/generated/metamodel/entities/datajob/) | +| [Task Run](https://docs.prefect.io/latest/concepts/tasks/#tasks) | [DataProcessInstance](https://datahubproject.io/docs/generated/metamodel/entities/dataprocessinstance) | +| [Task Tag](https://docs.prefect.io/latest/concepts/tasks/#tags) | [Tag](https://datahubproject.io/docs/generated/metamodel/entities/tag/) | + +## Validation and Troubleshooting + +### Validating the Setup + +1. Check the Prefect UI's Blocks menu for the DataHub emitter. +2. Run a Prefect workflow and look for DataHub-related log messages: + + ```text + Emitting flow to datahub... + Emitting tasks to datahub... + ``` + +### Debugging Common Issues + +#### Incorrect Prefect API URL + +If the Prefect API URL is incorrect, set it manually: + +```shell +prefect config set PREFECT_API_URL='http://127.0.0.1:4200/api' +``` + +#### DataHub Connection Error + +If you encounter a `ConnectionError: HTTPConnectionPool(host='localhost', port=8080)`, ensure that your DataHub GMS service is running. + +## Additional Resources + +- [Prefect Documentation](https://docs.prefect.io/) +- [DataHub Documentation](https://datahubproject.io/docs/) + +For more information or support, please refer to the official Prefect and DataHub documentation or reach out to their respective communities. diff --git a/docs/managed-datahub/approval-workflows.md b/docs/managed-datahub/approval-workflows.md index 75cab458d285d9..e28ba1b87d7eaa 100644 --- a/docs/managed-datahub/approval-workflows.md +++ b/docs/managed-datahub/approval-workflows.md @@ -6,7 +6,7 @@ import FeatureAvailability from '@site/src/components/FeatureAvailability'; ## Overview -Keeping all your metadata properly classified can be hard work when you only have a limited number of trusted data stewards. With Managed DataHub, you can source proposals of Tags and Glossary Terms associated to datasets or dataset columns. These proposals may come from users with limited context or programatic processes using hueristics. Then, data stewards and data owners can go through them and only approve proposals they consider correct. This reduces the burden of your stewards and owners while increasing coverage. +Keeping all your metadata properly classified can be hard work when you only have a limited number of trusted data stewards. With DataHub Cloud, you can source proposals of Tags and Glossary Terms associated to datasets or dataset columns. These proposals may come from users with limited context or programatic processes using hueristics. Then, data stewards and data owners can go through them and only approve proposals they consider correct. This reduces the burden of your stewards and owners while increasing coverage. Approval workflows also cover the Business Glossary itself. This allows you to source Glossary Terms and Glossary Term description changes from across your organization while limiting who has final control over what gets in. diff --git a/docs/managed-datahub/chrome-extension.md b/docs/managed-datahub/chrome-extension.md index a4560bc8cc09ba..a98aa6cb7e3040 100644 --- a/docs/managed-datahub/chrome-extension.md +++ b/docs/managed-datahub/chrome-extension.md @@ -1,12 +1,12 @@ --- -description: Learn how to upload and use the Acryl DataHub Chrome extension (beta) locally before it's available on the Chrome store. +description: Learn how to upload and use the DataHub Cloud Chrome extension (beta) locally before it's available on the Chrome store. --- -# Acryl DataHub Chrome Extension +# DataHub Cloud Chrome Extension ## Installing the Extension -In order to use the Acryl DataHub Chrome extension, you need to download it onto your browser from the Chrome web store [here](https://chrome.google.com/webstore/detail/datahub-chrome-extension/aoenebhmfokhglijmoacfjcnebdpchfj). +In order to use the DataHub Cloud Chrome extension, you need to download it onto your browser from the Chrome web store [here](https://chrome.google.com/webstore/detail/datahub-chrome-extension/aoenebhmfokhglijmoacfjcnebdpchfj).

    @@ -18,7 +18,7 @@ Simply click "Add to Chrome" then "Add extension" on the ensuing popup. ## Configuring the Extension -Once you have your extension installed, you'll need to configure it to work with your Acryl DataHub deployment. +Once you have your extension installed, you'll need to configure it to work with your DataHub Cloud deployment. 1. Click the extension button on the right of your browser's address bar to view all of your installed extensions. Click on the newly installed DataHub extension. @@ -40,7 +40,7 @@ If your organization uses standard SaaS domains for Looker, you should be ready ### Additional Configurations -Some organizations have custom SaaS domains for Looker and some Acryl DataHub deployments utilize **Platform Instances** and set custom **Environments** when creating DataHub assets. If any of these situations applies to you, please follow the next few steps to finish configuring your extension. +Some organizations have custom SaaS domains for Looker and some DataHub Cloud deployments utilize **Platform Instances** and set custom **Environments** when creating DataHub assets. If any of these situations applies to you, please follow the next few steps to finish configuring your extension. 1. Click on the extension button and select your DataHub extension to open the popup again. Now click the settings icon in order to open the configurations page. @@ -62,13 +62,13 @@ Some organizations have custom SaaS domains for Looker and some Acryl DataHub de Once you have everything configured on your extension, it's time to use it! -1. First ensure that you are logged in to your Acryl DataHub instance. +1. First ensure that you are logged in to your DataHub Cloud instance. 2. Navigate to Looker or Tableau and log in to view your data assets. 3. Navigate to a page where DataHub can provide insights on your data assets (Dashboards and Explores). -4. Click the Acryl DataHub extension button on the bottom right of your page to open a drawer where you can now see additional information about this asset right from your DataHub instance. +4. Click the DataHub Cloud extension button on the bottom right of your page to open a drawer where you can now see additional information about this asset right from your DataHub instance.

    @@ -78,7 +78,7 @@ Once you have everything configured on your extension, it's time to use it! ## Advanced: Self-Hosted DataHub -If you are using the Acryl DataHub Chrome extension for your self-hosted DataHub instance, everything above is applicable. However, there is one additional step you must take in order to set up your instance to be compatible with the extension. +If you are using the DataHub Cloud Chrome extension for your self-hosted DataHub instance, everything above is applicable. However, there is one additional step you must take in order to set up your instance to be compatible with the extension. ### Configure Auth Cookies diff --git a/docs/managed-datahub/configuring-identity-provisioning-with-okta.md b/docs/managed-datahub/configuring-identity-provisioning-with-okta.md new file mode 100644 index 00000000000000..a7939b514166da --- /dev/null +++ b/docs/managed-datahub/configuring-identity-provisioning-with-okta.md @@ -0,0 +1,119 @@ +--- +title: "SCIM Integration: Okta and DataHub" +hide_title: true +--- +import FeatureAvailability from '@site/src/components/FeatureAvailability'; + +## SCIM Integration: Okta and DataHub + + +## Overview +This document covers the steps required to enable SCIM provisioning from Okta to DataHub. + +This document assumes you are using OIDC for SSO with DataHub. +Since Okta doesn't currently support SCIM with OIDC, you would need to create an additional SWA-app-integration to enable SCIM provisioning. + +On completing the steps in this guide, Okta will start automatically pushing changes to users/groups of this SWA-app-integration to DataHub, thereby simplifying provisioning of users/groups in DataHub. + +### Why SCIM provisioning? +Let us look at an example of the flows enabled through SCIM provisioning. + +Consider the following configuration in Okta +- A group `governance-team` +- And it has two members `john` and `sid` +- And the group has role `Reader` + +Through SCIM provisioning, the following are enabled: +* If the `governance-team` group is assigned to the DataHub app in Okta with the role `Reader`, Okta will create the users `john` and `sid` in DataHub with the `Reader` role. +* If you remove `john` from group `governance-team` then `john` would automatically get deactivated in DataHub. +* If you remove `sid` from the DataHub app in Okta, then `sid` would automatically get deactivated in DataHub. + +Generally, any user assignment/unassignment to the app in Okta - directly or through groups - are automatically reflected in the DataHub application. + +This guide also covers other variations such as how to assign a role to a user directly, and how group-information can be pushed to DataHub. + +> Only Admin, Editor and Reader roles are supported in DataHub. These roles are preconfigured/created on DataHub. + +## Configuring SCIM provisioning + +### 1. Create an SWA app integration +a). Create a new [SWA app integration](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_swa.htm), called say, `DataHub-SCIM-SWA`. + +Note: this app-integration will only be used for SCIM provisioning. You would continue to use the existing OIDC-app-integration for SSO. + +b). In the `General` tab of the `DataHub-SCIM-SWA` application, check the `Enable SCIM provisioning` option + +

    + +

    + +You may also want to configure the other selections as shown in the above image, so that this application isn't visible to your users. + +### 2. Configure SCIM + +a). Generate a personal access token from [DataHub](../../docs/authentication/personal-access-tokens.md#creating-personal-access-tokens). + +b). In the `Provisioning` tab, configure the DataHub-SCIM endpoint as shown in the below image: + +

    + +

    + +**Note**: Set the value of the `Bearer` field to the personal access token obtained in step (a) above. + +c). Configure the `To App` section as shown below: + +

    + +

    + +**Note**: We are not pushing passwords to DataHub over SCIM, since we are assuming SSO with OIDC as mentioned earlier. + +### 3. Add a custom attribute to represent roles +a). Navigate to `Directory` -> `Profile Editor`, and select the user-profile of this new application. + +

    + +

    + +b). Click `Add Attribute` and define a new attribute that will be used to specify the role of a DataHub user. + +

    + +

    + +* Set value of `External name` to `roles.^[primary==true].value` +* Set value of `External namespace` to `urn:ietf:params:scim:schemas:core:2.0:User` +* Define an enumerated list of values as shown in the above image +* Mark this attribute as required +* Select `Attribute type` as `Personal` + +c). Add a similar attribute for groups i.e. repeat step (b) above, but select `Attribute Type` as `Group`. (Specify the variable name as, say, `dataHubGroupRoles`.) + +### 4. Assign users & groups to the app +Assign users and groups to the app from the `Assignments` tab: + +

    + +

    + +While assigning a user/group, choose an appropriate value for the dataHubRoles/dataHubGroupRoles attribute. +Note that when a role is selected for a group, the corresponding role is pushed for all users of that group in DataHub. + +### The provisioning setup is now complete +Once the above steps are completed, user assignments/unassignments to the DataHub-SCIM-SWA app in Okta will get reflected in DataHub automatically. + +> #### A note on user deletion +>Note that when users are unassigned or deactivated in Okta, the corresponding users in DataHub are also deactivated (marked "suspended"). +But when a user is *deleted* in Okta, the corresponding user in DataHub does *not* get deleted. +Refer the Okta documentation on [Delete (Deprovision)](https://developer.okta.com/docs/concepts/scim/#delete-deprovision) for more details. + +### 5. (Optional): Configure push groups +When groups are assigned to the app, Okta pushes the group-members as users to DataHub, but the group itself isn't pushed. +To push group information to DataHub, configure the `Push Groups` tab accordingly as shown below: + +

    + +

    + +Refer to the Okta [Group Push](https://help.okta.com/en-us/content/topics/users-groups-profiles/app-assignments-group-push.htm) documentation for more details. \ No newline at end of file diff --git a/docs/managed-datahub/datahub-api/graphql-api/getting-started.md b/docs/managed-datahub/datahub-api/graphql-api/getting-started.md index 736bf6fea6811d..5993e2dfd773dd 100644 --- a/docs/managed-datahub/datahub-api/graphql-api/getting-started.md +++ b/docs/managed-datahub/datahub-api/graphql-api/getting-started.md @@ -4,7 +4,7 @@ description: Getting started with the DataHub GraphQL API. # Getting Started -The Acryl DataHub GraphQL API is an extension of the open source [DataHub GraphQL API.](docs/api/graphql/overview.md) +The DataHub Cloud GraphQL API is an extension of the open source [DataHub GraphQL API.](docs/api/graphql/overview.md) For a full reference to the Queries & Mutations available for consumption, check out [Queries](graphql/queries.md) & [Mutations](graphql/mutations.md). @@ -39,7 +39,7 @@ e.g. to connect to ingestion endpoint for doing ingestion programmatically you c The entire GraphQL API can be explored & [introspected](https://graphql.org/learn/introspection/) using GraphiQL, an interactive query tool which allows you to navigate the entire Acryl GraphQL schema as well as craft & issue using an intuitive UI. -[GraphiQL](https://www.gatsbyjs.com/docs/how-to/querying-data/running-queries-with-graphiql/) is available for each Acryl DataHub deployment, locating at `https://your-account.acryl.io/api/graphiql`. +[GraphiQL](https://www.gatsbyjs.com/docs/how-to/querying-data/running-queries-with-graphiql/) is available for each DataHub Cloud deployment, locating at `https://your-account.acryl.io/api/graphiql`. ### Querying the API diff --git a/docs/managed-datahub/managed-datahub-overview.md b/docs/managed-datahub/managed-datahub-overview.md index 4efc96eaf17a7c..f4d155ff0dbe10 100644 --- a/docs/managed-datahub/managed-datahub-overview.md +++ b/docs/managed-datahub/managed-datahub-overview.md @@ -1,8 +1,8 @@ -# How Acryl DataHub compares to DataHub +# How DataHub Cloud compares to DataHub DataHub is the #1 open source data catalog for developers. -Acryl DataHub takes DataHub to the next level by offering features that allow +DataHub Cloud takes DataHub to the next level by offering features that allow you to roll out the product to the entire organization beyond your central data platform team. @@ -12,7 +12,7 @@ checklists and we hope you love them too! ## Search and Discovery Features aimed at making it easy to discover data assets at your organization and understand relationships between them. -| Feature | DataHub | Acryl DataHub | +| Feature | DataHub | DataHub Cloud | | ---------------------------------------------- | ------- | ------------- | | Integrations for 50+ data sources | ✅ | ✅ | | Table level, Column-level, Job-level lineage | ✅ | ✅ | @@ -32,7 +32,7 @@ Features aimed at making it easy to discover data assets at your organization an Features that help you govern the crown jewels of your organization, and trim out the datasets that seem to grow like weeds when no one’s looking. -| Feature | DataHub | Acryl DataHub | +| Feature | DataHub | DataHub Cloud | | ---------------------------------------------- | ------- | ------------- | | Shift-Left governance | ✅ | ✅ | | Dataset ownership management | ✅ | ✅ | @@ -48,7 +48,7 @@ Features that help you ensure your data pipelines are producing high quality assets, and if they’re not, making sure you and impacted users are the first to know. -| Feature | DataHub | Acryl DataHub | +| Feature | DataHub | DataHub Cloud | | ---------------------------------------------- | ------- | ------------- | | Surface data quality results | ✅ | ✅ | | Create data contracts | ✅ | ✅ | @@ -68,7 +68,7 @@ know. ## Enterprise Grade Features needed to roll out at scale to large enterprises. -| Feature | DataHub | Acryl DataHub | +| Feature | DataHub | DataHub Cloud | | ---------------------------------------------- | ------- | ------------- | | Battle-tested open source metadata platform | ✅ | ✅ | | Metadata change events as a real-time stream | ✅ | ✅ | @@ -82,7 +82,7 @@ Features needed to roll out at scale to large enterprises. ## Implementation and Support Features related to ease of deployment and maintenance. -| Feature | DataHub | Acryl DataHub | +| Feature | DataHub | DataHub Cloud | | ---------------------------------------------- | ------- | ------------- | | Community support | ✅ | ✅ | | Your own engineering team | ✅ | ❌ (They can instead focus on high-value work like contributing features to the open source product, or build amazing data applications with the APIs!)| @@ -102,7 +102,7 @@ the form using the link below, and someone from the Acryl team will reach out to set up a chat. - Learn about Acryl DataHub + Learn about DataHub Cloud Aspect components - // TODO: Correct handling of SystemMetadata and SortOrder - components.addSchemas( - "SystemMetadata", new Schema().type(TYPE_OBJECT).additionalProperties(true)); components.addSchemas("SortOrder", new Schema()._enum(List.of("ASCENDING", "DESCENDING"))); components.addSchemas("AspectPatch", buildAspectPatchSchema()); components.addSchemas( @@ -167,6 +164,10 @@ public static OpenAPI generateOpenApiSpec(EntityRegistry entityRegistry) { buildSingleEntityAspectPath( e, a.getName(), a.getPegasusSchema().getName()))); }); + // TODO: Correct handling of SystemMetadata and AuditStamp + components.addSchemas( + "SystemMetadata", new Schema().type(TYPE_OBJECT).additionalProperties(true)); + components.addSchemas("AuditStamp", new Schema().type(TYPE_OBJECT).additionalProperties(true)); return new OpenAPI().openapi("3.0.1").info(info).paths(paths).components(components); } @@ -185,7 +186,7 @@ private static PathItem buildSingleEntityPath(final EntitySpec entity) { .schema(new Schema().type(TYPE_STRING)), new Parameter() .in(NAME_QUERY) - .name("systemMetadata") + .name(NAME_SYSTEM_METADATA) .description("Include systemMetadata with response.") .schema(new Schema().type(TYPE_BOOLEAN)._default(false)), new Parameter() @@ -424,7 +425,7 @@ private static PathItem buildBatchGetEntityPath(final EntitySpec entity) { List.of( new Parameter() .in(NAME_QUERY) - .name("systemMetadata") + .name(NAME_SYSTEM_METADATA) .description("Include systemMetadata with response.") .schema(new Schema().type(TYPE_BOOLEAN)._default(false)))) .requestBody( @@ -575,12 +576,19 @@ private static Schema buildAspectRefResponseSchema(final String aspectName) { .required(List.of(PROPERTY_VALUE)) .addProperty(PROPERTY_VALUE, new Schema<>().$ref(PATH_DEFINITIONS + aspectName)); result.addProperty( - "systemMetadata", + NAME_SYSTEM_METADATA, new Schema<>() .type(TYPE_OBJECT) .anyOf(List.of(new Schema().$ref(PATH_DEFINITIONS + "SystemMetadata"))) .description("System metadata for the aspect.") .nullable(true)); + result.addProperty( + NAME_AUDIT_STAMP, + new Schema<>() + .type(TYPE_OBJECT) + .anyOf(List.of(new Schema().$ref(PATH_DEFINITIONS + "AuditStamp"))) + .description("Audit stamp for the aspect.") + .nullable(true)); return result; } @@ -592,7 +600,7 @@ private static Schema buildAspectRefRequestSchema(final String aspectName) { .required(List.of(PROPERTY_VALUE)) .addProperty(PROPERTY_VALUE, new Schema<>().$ref(PATH_DEFINITIONS + aspectName)); result.addProperty( - "systemMetadata", + NAME_SYSTEM_METADATA, new Schema<>() .type(TYPE_OBJECT) .anyOf(List.of(new Schema().$ref(PATH_DEFINITIONS + "SystemMetadata"))) @@ -867,7 +875,7 @@ private static PathItem buildSingleEntityAspectPath( List.of( new Parameter() .in(NAME_QUERY) - .name("systemMetadata") + .name(NAME_SYSTEM_METADATA) .description("Include systemMetadata with response.") .schema(new Schema().type(TYPE_BOOLEAN)._default(false)))) .summary(String.format("Patch aspect %s on %s ", aspect, upperFirstEntity)) diff --git a/metadata-service/openapi-servlet/src/main/java/io/datahubproject/openapi/v3/controller/EntityController.java b/metadata-service/openapi-servlet/src/main/java/io/datahubproject/openapi/v3/controller/EntityController.java index 9ca34934e4c657..fbc9bf2956cfd3 100644 --- a/metadata-service/openapi-servlet/src/main/java/io/datahubproject/openapi/v3/controller/EntityController.java +++ b/metadata-service/openapi-servlet/src/main/java/io/datahubproject/openapi/v3/controller/EntityController.java @@ -13,10 +13,12 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.linkedin.common.urn.Urn; import com.linkedin.data.ByteString; -import com.linkedin.data.template.RecordTemplate; import com.linkedin.entity.EnvelopedAspect; +import com.linkedin.events.metadata.ChangeType; +import com.linkedin.metadata.aspect.AspectRetriever; import com.linkedin.metadata.aspect.batch.AspectsBatch; import com.linkedin.metadata.aspect.batch.BatchItem; +import com.linkedin.metadata.aspect.batch.ChangeMCP; import com.linkedin.metadata.entity.EntityApiUtils; import com.linkedin.metadata.entity.IngestResult; import com.linkedin.metadata.entity.UpdateAspectResult; @@ -28,12 +30,12 @@ import com.linkedin.metadata.utils.AuditStampUtils; import com.linkedin.metadata.utils.GenericRecordUtils; import com.linkedin.mxe.SystemMetadata; -import com.linkedin.util.Pair; import io.datahubproject.metadata.context.OperationContext; import io.datahubproject.metadata.context.RequestContext; import io.datahubproject.openapi.controller.GenericEntitiesController; import io.datahubproject.openapi.exception.InvalidUrnException; import io.datahubproject.openapi.exception.UnauthorizedException; +import io.datahubproject.openapi.v3.models.AspectItem; import io.datahubproject.openapi.v3.models.GenericAspectV3; import io.datahubproject.openapi.v3.models.GenericEntityScrollResultV3; import io.datahubproject.openapi.v3.models.GenericEntityV3; @@ -143,11 +145,27 @@ protected List buildEntityVersionedAspectList( .map( u -> GenericEntityV3.builder() - .build(objectMapper, u, toAspectMap(u, aspects.get(u), withSystemMetadata))) + .build( + objectMapper, u, toAspectItemMap(u, aspects.get(u), withSystemMetadata))) .collect(Collectors.toList()); } } + private Map toAspectItemMap( + Urn urn, List aspects, boolean withSystemMetadata) { + return aspects.stream() + .map( + a -> + Map.entry( + a.getName(), + AspectItem.builder() + .aspect(toRecordTemplate(lookupAspectSpec(urn, a.getName()), a)) + .systemMetadata(withSystemMetadata ? a.getSystemMetadata() : null) + .auditStamp(withSystemMetadata ? a.getCreated() : null) + .build())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + } + @Override protected List buildEntityList( Set ingestResults, boolean withSystemMetadata) { @@ -156,15 +174,21 @@ protected List buildEntityList( Map> entityMap = ingestResults.stream().collect(Collectors.groupingBy(IngestResult::getUrn)); for (Map.Entry> urnAspects : entityMap.entrySet()) { - Map> aspectsMap = + Map aspectsMap = urnAspects.getValue().stream() .map( ingest -> Map.entry( ingest.getRequest().getAspectName(), - Pair.of( - ingest.getRequest().getRecordTemplate(), - withSystemMetadata ? ingest.getRequest().getSystemMetadata() : null))) + AspectItem.builder() + .aspect(ingest.getRequest().getRecordTemplate()) + .systemMetadata( + withSystemMetadata + ? ingest.getRequest().getSystemMetadata() + : null) + .auditStamp( + withSystemMetadata ? ingest.getRequest().getAuditStamp() : null) + .build())) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); responseList.add( GenericEntityV3.builder().build(objectMapper, urnAspects.getKey(), aspectsMap)); @@ -183,9 +207,12 @@ protected GenericEntityV3 buildGenericEntity( updateAspectResult.getUrn(), Map.of( aspectName, - Pair.of( - updateAspectResult.getNewValue(), - withSystemMetadata ? updateAspectResult.getNewSystemMetadata() : null))); + AspectItem.builder() + .aspect(updateAspectResult.getNewValue()) + .systemMetadata( + withSystemMetadata ? updateAspectResult.getNewSystemMetadata() : null) + .auditStamp(withSystemMetadata ? updateAspectResult.getAuditStamp() : null) + .build())); } private List toRecordTemplates( @@ -324,4 +351,28 @@ protected AspectsBatch toMCPBatch( .retrieverContext(opContext.getRetrieverContext().get()) .build(); } + + @Override + protected ChangeMCP toUpsertItem( + @Nonnull AspectRetriever aspectRetriever, + Urn entityUrn, + AspectSpec aspectSpec, + Boolean createIfNotExists, + String jsonAspect, + Actor actor) + throws JsonProcessingException { + JsonNode jsonNode = objectMapper.readTree(jsonAspect); + String aspectJson = jsonNode.get("value").toString(); + return ChangeItemImpl.builder() + .urn(entityUrn) + .aspectName(aspectSpec.getName()) + .changeType(Boolean.TRUE.equals(createIfNotExists) ? ChangeType.CREATE : ChangeType.UPSERT) + .auditStamp(AuditStampUtils.createAuditStamp(actor.toUrnStr())) + .recordTemplate( + GenericRecordUtils.deserializeAspect( + ByteString.copyString(aspectJson, StandardCharsets.UTF_8), + GenericRecordUtils.JSON, + aspectSpec)) + .build(aspectRetriever); + } } diff --git a/metadata-service/openapi-servlet/src/test/java/entities/EntitiesControllerTest.java b/metadata-service/openapi-servlet/src/test/java/entities/EntitiesControllerTest.java index 3e352403c88bca..8b530b218532d0 100644 --- a/metadata-service/openapi-servlet/src/test/java/entities/EntitiesControllerTest.java +++ b/metadata-service/openapi-servlet/src/test/java/entities/EntitiesControllerTest.java @@ -14,6 +14,7 @@ import com.linkedin.metadata.aspect.batch.AspectsBatch; import com.linkedin.metadata.config.PreProcessHooks; import com.linkedin.metadata.entity.AspectDao; +import com.linkedin.metadata.entity.TransactionContext; import com.linkedin.metadata.entity.UpdateAspectResult; import com.linkedin.metadata.event.EventProducer; import io.datahubproject.metadata.context.OperationContext; @@ -69,14 +70,14 @@ public void setup() OperationContext opContext = TestOperationContexts.systemContextNoSearchAuthorization(); AspectDao aspectDao = Mockito.mock(AspectDao.class); when(aspectDao.runInTransactionWithRetry( - ArgumentMatchers.>>any(), + ArgumentMatchers.>>any(), any(AspectsBatch.class), anyInt())) .thenAnswer( i -> List.of( - ((Function>) i.getArgument(0)) - .apply(Mockito.mock(Transaction.class)))); + ((Function>) i.getArgument(0)) + .apply(TransactionContext.empty(Mockito.mock(Transaction.class), 0)))); EventProducer mockEntityEventProducer = Mockito.mock(EventProducer.class); PreProcessHooks preProcessHooks = new PreProcessHooks(); diff --git a/metadata-service/openapi-servlet/src/test/java/io/datahubproject/openapi/v3/controller/EntityControllerTest.java b/metadata-service/openapi-servlet/src/test/java/io/datahubproject/openapi/v3/controller/EntityControllerTest.java index 3c7e93621f5cce..60425fc7e756ed 100644 --- a/metadata-service/openapi-servlet/src/test/java/io/datahubproject/openapi/v3/controller/EntityControllerTest.java +++ b/metadata-service/openapi-servlet/src/test/java/io/datahubproject/openapi/v3/controller/EntityControllerTest.java @@ -37,6 +37,7 @@ import io.datahubproject.metadata.context.OperationContext; import io.datahubproject.openapi.config.SpringWebConfig; import io.datahubproject.test.metadata.context.TestOperationContexts; +import java.util.Collections; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; @@ -95,7 +96,7 @@ public void testSearchOrderPreserved() throws Exception { eq(List.of("dataset")), anyString(), nullable(Filter.class), - eq(SearchUtil.sortBy("urn", SortOrder.valueOf("ASCENDING"))), + eq(Collections.singletonList(SearchUtil.sortBy("urn", SortOrder.valueOf("ASCENDING")))), nullable(String.class), nullable(String.class), anyInt())) @@ -113,7 +114,9 @@ public void testSearchOrderPreserved() throws Exception { eq(List.of("dataset")), anyString(), nullable(Filter.class), - eq(SearchUtil.sortBy("urn", SortOrder.valueOf("DESCENDING"))), + eq( + Collections.singletonList( + SearchUtil.sortBy("urn", SortOrder.valueOf("DESCENDING")))), nullable(String.class), nullable(String.class), anyInt())) diff --git a/metadata-service/restli-api/src/main/idl/com.linkedin.entity.entities.restspec.json b/metadata-service/restli-api/src/main/idl/com.linkedin.entity.entities.restspec.json index fe53b43ccd1da8..935a4293839281 100644 --- a/metadata-service/restli-api/src/main/idl/com.linkedin.entity.entities.restspec.json +++ b/metadata-service/restli-api/src/main/idl/com.linkedin.entity.entities.restspec.json @@ -199,6 +199,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -248,6 +252,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -288,6 +296,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "scrollId", "type" : "string", @@ -333,6 +345,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "scrollId", "type" : "string", @@ -374,6 +390,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -411,6 +431,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -452,6 +476,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" diff --git a/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.aspects.snapshot.json b/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.aspects.snapshot.json index eb92cf75a4d4e2..3688311b1f2345 100644 --- a/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.aspects.snapshot.json +++ b/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.aspects.snapshot.json @@ -902,6 +902,51 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : { + "type" : "record", + "name" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "fields" : [ { + "name" : "time", + "type" : "Time", + "doc" : "When this metadata was updated." + }, { + "name" : "actor", + "type" : "Urn", + "doc" : "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation." + }, { + "name" : "source", + "type" : "Urn", + "doc" : "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.", + "optional" : true + }, { + "name" : "sourceDetail", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc.", + "default" : { } + } ] + }, + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "tagAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "tagAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "tagAttributionDates", + "fieldType" : "DATETIME" + } + } } ] } }, @@ -1010,6 +1055,25 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "termAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "termAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "termAttributionDates", + "fieldType" : "DATETIME" + } + } } ] }, "com.linkedin.common.GlossaryTermUrn", { "type" : "record", @@ -1121,7 +1185,7 @@ "owningTeam" : "urn:li:internalTeam:datahub" } } - }, { + }, "com.linkedin.common.MetadataAttribution", { "type" : "record", "name" : "Owner", "namespace" : "com.linkedin.common", @@ -3060,6 +3124,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "fieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "fieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "fieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "fieldTags", @@ -3078,6 +3154,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "fieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "fieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "fieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "fieldGlossaryTerms", @@ -3092,7 +3180,7 @@ }, { "name" : "isPartitioningKey", "type" : "boolean", - "doc" : "For Datasets which are partitioned, this determines the partitioning key.", + "doc" : "For Datasets which are partitioned, this determines the partitioning key.\nNote that multiple columns can be part of a partitioning key, but currently we do not support\nrendering the ordered partitioning key.", "optional" : true }, { "name" : "jsonProps", @@ -3247,6 +3335,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "editedFieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "editedFieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "editedFieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "editedFieldTags", @@ -3265,6 +3365,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "editedFieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "editedFieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "editedFieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "editedFieldGlossaryTerms", diff --git a/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.entities.snapshot.json b/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.entities.snapshot.json index 0c983a021d4e73..59894ed083a2ef 100644 --- a/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.entities.snapshot.json +++ b/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.entities.snapshot.json @@ -897,6 +897,51 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : { + "type" : "record", + "name" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "fields" : [ { + "name" : "time", + "type" : "Time", + "doc" : "When this metadata was updated." + }, { + "name" : "actor", + "type" : "Urn", + "doc" : "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation." + }, { + "name" : "source", + "type" : "Urn", + "doc" : "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.", + "optional" : true + }, { + "name" : "sourceDetail", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc.", + "default" : { } + } ] + }, + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "tagAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "tagAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "tagAttributionDates", + "fieldType" : "DATETIME" + } + } } ] } }, @@ -1005,6 +1050,25 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "termAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "termAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "termAttributionDates", + "fieldType" : "DATETIME" + } + } } ] }, "com.linkedin.common.GlossaryTermUrn", { "type" : "record", @@ -1152,7 +1216,7 @@ "owningTeam" : "urn:li:internalTeam:datahub" } } - }, { + }, "com.linkedin.common.MetadataAttribution", { "type" : "record", "name" : "Owner", "namespace" : "com.linkedin.common", @@ -2264,6 +2328,15 @@ "fieldName" : "editedDescription", "fieldType" : "TEXT" } + }, { + "name" : "name", + "type" : "string", + "doc" : "Editable display name of the Dataset", + "optional" : true, + "Searchable" : { + "fieldName" : "editedName", + "fieldType" : "TEXT_PARTIAL" + } } ], "Aspect" : { "name" : "editableDatasetProperties" @@ -3443,6 +3516,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "fieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "fieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "fieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "fieldTags", @@ -3461,6 +3546,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "fieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "fieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "fieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "fieldGlossaryTerms", @@ -3475,7 +3572,7 @@ }, { "name" : "isPartitioningKey", "type" : "boolean", - "doc" : "For Datasets which are partitioned, this determines the partitioning key.", + "doc" : "For Datasets which are partitioned, this determines the partitioning key.\nNote that multiple columns can be part of a partitioning key, but currently we do not support\nrendering the ordered partitioning key.", "optional" : true }, { "name" : "jsonProps", @@ -3630,6 +3727,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "editedFieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "editedFieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "editedFieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "editedFieldTags", @@ -3648,6 +3757,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "editedFieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "editedFieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "editedFieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "editedFieldGlossaryTerms", @@ -6245,6 +6366,14 @@ }, "doc" : "A list of the the restricted aspects on the entity.\nIf the key aspect is present, assume ALL aspects should be restricted including the entity's Urn.", "optional" : true + }, { + "name" : "extraFields", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "Extra fields from the search document based on what is requested in the search request", + "optional" : true } ] } ], "fields" : [ { @@ -6699,6 +6828,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -6748,6 +6881,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -6788,6 +6925,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "scrollId", "type" : "string", @@ -6833,6 +6974,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "scrollId", "type" : "string", @@ -6874,6 +7019,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -6911,6 +7060,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" @@ -6952,6 +7105,10 @@ "name" : "sort", "type" : "com.linkedin.metadata.query.filter.SortCriterion", "optional" : true + }, { + "name" : "sortCriteria", + "type" : "{ \"type\" : \"array\", \"items\" : \"com.linkedin.metadata.query.filter.SortCriterion\" }", + "optional" : true }, { "name" : "start", "type" : "int" diff --git a/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.runs.snapshot.json b/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.runs.snapshot.json index 4af65cdb48b502..16549757a961fa 100644 --- a/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.runs.snapshot.json +++ b/metadata-service/restli-api/src/main/snapshot/com.linkedin.entity.runs.snapshot.json @@ -639,6 +639,51 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : { + "type" : "record", + "name" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "fields" : [ { + "name" : "time", + "type" : "Time", + "doc" : "When this metadata was updated." + }, { + "name" : "actor", + "type" : "Urn", + "doc" : "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation." + }, { + "name" : "source", + "type" : "Urn", + "doc" : "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.", + "optional" : true + }, { + "name" : "sourceDetail", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc.", + "default" : { } + } ] + }, + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "tagAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "tagAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "tagAttributionDates", + "fieldType" : "DATETIME" + } + } } ] } }, @@ -747,6 +792,25 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "termAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "termAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "termAttributionDates", + "fieldType" : "DATETIME" + } + } } ] }, "com.linkedin.common.GlossaryTermUrn", { "type" : "record", @@ -858,7 +922,7 @@ "owningTeam" : "urn:li:internalTeam:datahub" } } - }, { + }, "com.linkedin.common.MetadataAttribution", { "type" : "record", "name" : "Owner", "namespace" : "com.linkedin.common", @@ -2788,6 +2852,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "fieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "fieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "fieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "fieldTags", @@ -2806,6 +2882,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "fieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "fieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "fieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "fieldGlossaryTerms", @@ -2820,7 +2908,7 @@ }, { "name" : "isPartitioningKey", "type" : "boolean", - "doc" : "For Datasets which are partitioned, this determines the partitioning key.", + "doc" : "For Datasets which are partitioned, this determines the partitioning key.\nNote that multiple columns can be part of a partitioning key, but currently we do not support\nrendering the ordered partitioning key.", "optional" : true }, { "name" : "jsonProps", @@ -2975,6 +3063,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "editedFieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "editedFieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "editedFieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "editedFieldTags", @@ -2993,6 +3093,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "editedFieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "editedFieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "editedFieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "editedFieldGlossaryTerms", diff --git a/metadata-service/restli-api/src/main/snapshot/com.linkedin.operations.operations.snapshot.json b/metadata-service/restli-api/src/main/snapshot/com.linkedin.operations.operations.snapshot.json index e788c5d28ce71e..95df1d2ce21d93 100644 --- a/metadata-service/restli-api/src/main/snapshot/com.linkedin.operations.operations.snapshot.json +++ b/metadata-service/restli-api/src/main/snapshot/com.linkedin.operations.operations.snapshot.json @@ -639,6 +639,51 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : { + "type" : "record", + "name" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "fields" : [ { + "name" : "time", + "type" : "Time", + "doc" : "When this metadata was updated." + }, { + "name" : "actor", + "type" : "Urn", + "doc" : "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation." + }, { + "name" : "source", + "type" : "Urn", + "doc" : "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.", + "optional" : true + }, { + "name" : "sourceDetail", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc.", + "default" : { } + } ] + }, + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "tagAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "tagAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "tagAttributionDates", + "fieldType" : "DATETIME" + } + } } ] } }, @@ -747,6 +792,25 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "termAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "termAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "termAttributionDates", + "fieldType" : "DATETIME" + } + } } ] }, "com.linkedin.common.GlossaryTermUrn", { "type" : "record", @@ -858,7 +922,7 @@ "owningTeam" : "urn:li:internalTeam:datahub" } } - }, { + }, "com.linkedin.common.MetadataAttribution", { "type" : "record", "name" : "Owner", "namespace" : "com.linkedin.common", @@ -2782,6 +2846,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "fieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "fieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "fieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "fieldTags", @@ -2800,6 +2876,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "fieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "fieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "fieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "fieldGlossaryTerms", @@ -2814,7 +2902,7 @@ }, { "name" : "isPartitioningKey", "type" : "boolean", - "doc" : "For Datasets which are partitioned, this determines the partitioning key.", + "doc" : "For Datasets which are partitioned, this determines the partitioning key.\nNote that multiple columns can be part of a partitioning key, but currently we do not support\nrendering the ordered partitioning key.", "optional" : true }, { "name" : "jsonProps", @@ -2969,6 +3057,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "editedFieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "editedFieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "editedFieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "editedFieldTags", @@ -2987,6 +3087,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "editedFieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "editedFieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "editedFieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "editedFieldGlossaryTerms", diff --git a/metadata-service/restli-api/src/main/snapshot/com.linkedin.platform.platform.snapshot.json b/metadata-service/restli-api/src/main/snapshot/com.linkedin.platform.platform.snapshot.json index dbdba0040d4434..3d16550db1e0f1 100644 --- a/metadata-service/restli-api/src/main/snapshot/com.linkedin.platform.platform.snapshot.json +++ b/metadata-service/restli-api/src/main/snapshot/com.linkedin.platform.platform.snapshot.json @@ -897,6 +897,51 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : { + "type" : "record", + "name" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "fields" : [ { + "name" : "time", + "type" : "Time", + "doc" : "When this metadata was updated." + }, { + "name" : "actor", + "type" : "Urn", + "doc" : "The entity (e.g. a member URN) responsible for applying the assocated metadata. This can\neither be a user (in case of UI edits) or the datahub system for automation." + }, { + "name" : "source", + "type" : "Urn", + "doc" : "The DataHub source responsible for applying the associated metadata. This will only be filled out\nwhen a DataHub source is responsible. This includes the specific metadata test urn, the automation urn.", + "optional" : true + }, { + "name" : "sourceDetail", + "type" : { + "type" : "map", + "values" : "string" + }, + "doc" : "The details associated with why this metadata was applied. For example, this could include\nthe actual regex rule, sql statement, ingestion pipeline ID, etc.", + "default" : { } + } ] + }, + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "tagAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "tagAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "tagAttributionDates", + "fieldType" : "DATETIME" + } + } } ] } }, @@ -1005,6 +1050,25 @@ "type" : "string", "doc" : "Additional context about the association", "optional" : true + }, { + "name" : "attribution", + "type" : "MetadataAttribution", + "doc" : "Information about who, why, and how this metadata was applied", + "optional" : true, + "Searchable" : { + "/actor" : { + "fieldName" : "termAttributionActors", + "fieldType" : "URN" + }, + "/source" : { + "fieldName" : "termAttributionSources", + "fieldType" : "URN" + }, + "/time" : { + "fieldName" : "termAttributionDates", + "fieldType" : "DATETIME" + } + } } ] }, "com.linkedin.common.GlossaryTermUrn", { "type" : "record", @@ -1152,7 +1216,7 @@ "owningTeam" : "urn:li:internalTeam:datahub" } } - }, { + }, "com.linkedin.common.MetadataAttribution", { "type" : "record", "name" : "Owner", "namespace" : "com.linkedin.common", @@ -2264,6 +2328,15 @@ "fieldName" : "editedDescription", "fieldType" : "TEXT" } + }, { + "name" : "name", + "type" : "string", + "doc" : "Editable display name of the Dataset", + "optional" : true, + "Searchable" : { + "fieldName" : "editedName", + "fieldType" : "TEXT_PARTIAL" + } } ], "Aspect" : { "name" : "editableDatasetProperties" @@ -3437,6 +3510,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "fieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "fieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "fieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "fieldTags", @@ -3455,6 +3540,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "fieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "fieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "fieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "fieldGlossaryTerms", @@ -3469,7 +3566,7 @@ }, { "name" : "isPartitioningKey", "type" : "boolean", - "doc" : "For Datasets which are partitioned, this determines the partitioning key.", + "doc" : "For Datasets which are partitioned, this determines the partitioning key.\nNote that multiple columns can be part of a partitioning key, but currently we do not support\nrendering the ordered partitioning key.", "optional" : true }, { "name" : "jsonProps", @@ -3624,6 +3721,18 @@ } }, "Searchable" : { + "/tags/*/attribution/actor" : { + "fieldName" : "editedFieldTagAttributionActors", + "fieldType" : "URN" + }, + "/tags/*/attribution/source" : { + "fieldName" : "editedFieldTagAttributionSources", + "fieldType" : "URN" + }, + "/tags/*/attribution/time" : { + "fieldName" : "editedFieldTagAttributionDates", + "fieldType" : "DATETIME" + }, "/tags/*/tag" : { "boostScore" : 0.5, "fieldName" : "editedFieldTags", @@ -3642,6 +3751,18 @@ } }, "Searchable" : { + "/terms/*/attribution/actor" : { + "fieldName" : "editedFieldTermAttributionActors", + "fieldType" : "URN" + }, + "/terms/*/attribution/source" : { + "fieldName" : "editedFieldTermAttributionSources", + "fieldType" : "URN" + }, + "/terms/*/attribution/time" : { + "fieldName" : "editedFieldTermAttributionDates", + "fieldType" : "DATETIME" + }, "/terms/*/urn" : { "boostScore" : 0.5, "fieldName" : "editedFieldGlossaryTerms", diff --git a/metadata-service/restli-client-api/src/main/java/com/linkedin/entity/client/EntityClient.java b/metadata-service/restli-client-api/src/main/java/com/linkedin/entity/client/EntityClient.java index 8821143cde6cc3..5f086e79a387a8 100644 --- a/metadata-service/restli-client-api/src/main/java/com/linkedin/entity/client/EntityClient.java +++ b/metadata-service/restli-client-api/src/main/java/com/linkedin/entity/client/EntityClient.java @@ -38,7 +38,6 @@ import java.util.Map; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -236,7 +235,7 @@ ListResult list( * * @param input search query * @param filter search filters - * @param sortCriterion sort criterion + * @param sortCriteria sort criteria * @param start start offset for search results * @param count max number of search results requested * @return Snapshot key @@ -247,7 +246,7 @@ SearchResult search( @Nonnull String entity, @Nonnull String input, @Nullable Filter filter, - SortCriterion sortCriterion, + List sortCriteria, int start, int count) throws RemoteInvocationException; @@ -271,7 +270,7 @@ SearchResult searchAcrossEntities( @Nullable Filter filter, int start, int count, - @Nullable SortCriterion sortCriterion) + List sortCriteria) throws RemoteInvocationException; /** @@ -293,7 +292,7 @@ SearchResult searchAcrossEntities( @Nullable Filter filter, int start, int count, - @Nullable SortCriterion sortCriterion, + List sortCriteria, List facets) throws RemoteInvocationException; @@ -329,7 +328,7 @@ ScrollResult scrollAcrossEntities( * @param input the search input text * @param maxHops the max number of hops away to search for. If null, searches all hops. * @param filter the request map with fields and values as filters to be applied to search hits - * @param sortCriterion {@link SortCriterion} to be applied to search results + * @param sortCriteria list of {@link SortCriterion} to be applied to search results * @param start index to start the search from * @param count the number of search hits to return * @return a {@link SearchResult} that contains a list of matched documents and related search @@ -343,7 +342,7 @@ LineageSearchResult searchAcrossLineage( @Nonnull String input, @Nullable Integer maxHops, @Nullable Filter filter, - @Nullable SortCriterion sortCriterion, + List sortCriteria, int start, int count) throws RemoteInvocationException; @@ -357,7 +356,7 @@ LineageSearchResult searchAcrossLineage( * @param input the search input text * @param maxHops the max number of hops away to search for. If null, searches all hops. * @param filter the request map with fields and values as filters to be applied to search hits - * @param sortCriterion {@link SortCriterion} to be applied to search results + * @param sortCriteria list of {@link SortCriterion} to be applied to search results * @param scrollId opaque scroll ID indicating offset * @param keepAlive string representation of time to keep point in time alive, ex: 5m * @param count the number of search hits to return of roundtrips for UI visualizations. @@ -373,7 +372,7 @@ LineageScrollResult scrollAcrossLineage( @Nonnull String input, @Nullable Integer maxHops, @Nullable Filter filter, - @Nullable SortCriterion sortCriterion, + List sortCriteria, @Nullable String scrollId, @Nonnull String keepAlive, int count) @@ -427,7 +426,7 @@ void deleteEntityReferences(@Nonnull OperationContext opContext, @Nonnull final * * @param entity filter entity * @param filter search filters - * @param sortCriterion sort criterion + * @param sortCriteria sort criteria * @param start start offset for search results * @param count max number of search results requested * @return a set of {@link SearchResult}s @@ -437,7 +436,7 @@ SearchResult filter( @Nonnull OperationContext opContext, @Nonnull String entity, @Nonnull Filter filter, - @Nullable SortCriterion sortCriterion, + List sortCriteria, int start, int count) throws RemoteInvocationException; @@ -519,27 +518,17 @@ default String ingestProposal( return ingestProposal(opContext, metadataChangeProposal, false); } - String ingestProposal( + /** + * Ingest a MetadataChangeProposal event. + * + * @return the urn string ingested + */ + default String ingestProposal( @Nonnull OperationContext opContext, @Nonnull final MetadataChangeProposal metadataChangeProposal, final boolean async) - throws RemoteInvocationException; - - @Deprecated - default String wrappedIngestProposal( - @Nonnull OperationContext opContext, @Nonnull MetadataChangeProposal metadataChangeProposal) { - return wrappedIngestProposal(opContext, metadataChangeProposal, false); - } - - default String wrappedIngestProposal( - @Nonnull OperationContext opContext, - @Nonnull MetadataChangeProposal metadataChangeProposal, - final boolean async) { - try { - return ingestProposal(opContext, metadataChangeProposal, async); - } catch (RemoteInvocationException e) { - throw new RuntimeException(e); - } + throws RemoteInvocationException { + return batchIngestProposals(opContext, List.of(metadataChangeProposal), async).get(0); } @Deprecated @@ -550,15 +539,20 @@ default List batchIngestProposals( return batchIngestProposals(opContext, metadataChangeProposals, false); } - default List batchIngestProposals( + /** + * Ingest a list of proposals in a batch. + * + * @param opContext operation context + * @param metadataChangeProposals list of proposals + * @param async async or sync ingestion path + * @return ingested urns + */ + @Nonnull + List batchIngestProposals( @Nonnull OperationContext opContext, @Nonnull final Collection metadataChangeProposals, final boolean async) - throws RemoteInvocationException { - return metadataChangeProposals.stream() - .map(proposal -> wrappedIngestProposal(opContext, proposal, async)) - .collect(Collectors.toList()); - } + throws RemoteInvocationException; @Deprecated Optional getVersionedAspect( diff --git a/metadata-service/restli-client/src/main/java/com/linkedin/entity/client/RestliEntityClient.java b/metadata-service/restli-client/src/main/java/com/linkedin/entity/client/RestliEntityClient.java index fe1ca571efea52..bc5b9e439d293e 100644 --- a/metadata-service/restli-client/src/main/java/com/linkedin/entity/client/RestliEntityClient.java +++ b/metadata-service/restli-client/src/main/java/com/linkedin/entity/client/RestliEntityClient.java @@ -12,7 +12,7 @@ import com.linkedin.data.template.RecordTemplate; import com.linkedin.data.template.StringArray; import com.linkedin.entity.AspectsDoGetTimeseriesAspectValuesRequestBuilder; -import com.linkedin.entity.AspectsDoIngestProposalRequestBuilder; +import com.linkedin.entity.AspectsDoIngestProposalBatchRequestBuilder; import com.linkedin.entity.AspectsGetRequestBuilder; import com.linkedin.entity.AspectsRequestBuilders; import com.linkedin.entity.EntitiesBatchGetRequestBuilder; @@ -50,6 +50,7 @@ import com.linkedin.metadata.browse.BrowseResult; import com.linkedin.metadata.browse.BrowseResultV2; import com.linkedin.metadata.graph.LineageDirection; +import com.linkedin.metadata.models.EntitySpec; import com.linkedin.metadata.query.AutoCompleteResult; import com.linkedin.metadata.query.LineageFlags; import com.linkedin.metadata.query.ListResult; @@ -62,11 +63,14 @@ import com.linkedin.metadata.query.filter.CriterionArray; import com.linkedin.metadata.query.filter.Filter; import com.linkedin.metadata.query.filter.SortCriterion; +import com.linkedin.metadata.query.filter.SortCriterionArray; import com.linkedin.metadata.search.LineageScrollResult; import com.linkedin.metadata.search.LineageSearchResult; import com.linkedin.metadata.search.ScrollResult; import com.linkedin.metadata.search.SearchResult; +import com.linkedin.metadata.utils.EntityKeyUtils; import com.linkedin.mxe.MetadataChangeProposal; +import com.linkedin.mxe.MetadataChangeProposalArray; import com.linkedin.mxe.PlatformEvent; import com.linkedin.mxe.SystemMetadata; import com.linkedin.parseq.retry.backoff.BackoffPolicy; @@ -98,6 +102,7 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.NotImplementedException; +import org.opensearch.core.common.util.CollectionUtils; @Slf4j public class RestliEntityClient extends BaseClient implements EntityClient { @@ -589,7 +594,7 @@ public ListResult list( * * @param input search query * @param filter search filters - * @param sortCriterion sort criterion + * @param sortCriteria sort criteria * @param start start offset for search results * @param count max number of search results requested * @return Snapshot key @@ -602,7 +607,7 @@ public SearchResult search( @Nonnull String entity, @Nonnull String input, @Nullable Filter filter, - SortCriterion sortCriterion, + List sortCriteria, int start, int count) throws RemoteInvocationException { @@ -620,8 +625,9 @@ public SearchResult search( requestBuilder.filterParam(filter); } - if (sortCriterion != null) { - requestBuilder.sortParam(sortCriterion); + if (!CollectionUtils.isEmpty(sortCriteria)) { + requestBuilder.sortParam(sortCriteria.get(0)); + requestBuilder.sortCriteriaParam(new SortCriterionArray(sortCriteria)); } if (searchFlags != null) { @@ -643,10 +649,10 @@ public SearchResult searchAcrossEntities( @Nullable Filter filter, int start, int count, - @Nullable SortCriterion sortCriterion) + List sortCriteria) throws RemoteInvocationException { return searchAcrossEntities( - opContext, entities, input, filter, start, count, sortCriterion, null); + opContext, entities, input, filter, start, count, sortCriteria, null); } /** @@ -670,7 +676,7 @@ public SearchResult searchAcrossEntities( @Nullable Filter filter, int start, int count, - @Nullable SortCriterion sortCriterion, + List sortCriteria, @Nullable List facets) throws RemoteInvocationException { @@ -692,8 +698,9 @@ public SearchResult searchAcrossEntities( requestBuilder.searchFlagsParam(searchFlags); } - if (sortCriterion != null) { - requestBuilder.sortParam(sortCriterion); + if (!CollectionUtils.isEmpty(sortCriteria)) { + requestBuilder.sortParam(sortCriteria.get(0)); + requestBuilder.sortCriteriaParam(new SortCriterionArray(sortCriteria)); } return sendClientRequest(requestBuilder, opContext.getAuthentication()).getEntity(); @@ -743,7 +750,7 @@ public LineageSearchResult searchAcrossLineage( @Nonnull String input, @Nullable Integer maxHops, @Nullable Filter filter, - @Nullable SortCriterion sortCriterion, + List sortCriteria, int start, int count) throws RemoteInvocationException { @@ -770,6 +777,12 @@ public LineageSearchResult searchAcrossLineage( if (lineageFlags.getEndTimeMillis() != null) { requestBuilder.endTimeMillisParam(lineageFlags.getEndTimeMillis()); } + + if (!CollectionUtils.isEmpty(sortCriteria)) { + requestBuilder.sortParam(sortCriteria.get(0)); + requestBuilder.sortCriteriaParam(new SortCriterionArray(sortCriteria)); + } + requestBuilder.searchFlagsParam(opContext.getSearchContext().getSearchFlags()); return sendClientRequest(requestBuilder, opContext.getAuthentication()).getEntity(); @@ -785,7 +798,7 @@ public LineageScrollResult scrollAcrossLineage( @Nonnull String input, @Nullable Integer maxHops, @Nullable Filter filter, - @Nullable SortCriterion sortCriterion, + List sortCriteria, @Nullable String scrollId, @Nonnull String keepAlive, int count) @@ -815,6 +828,12 @@ public LineageScrollResult scrollAcrossLineage( if (lineageFlags.getEndTimeMillis() != null) { requestBuilder.endTimeMillisParam(lineageFlags.getEndTimeMillis()); } + + if (!CollectionUtils.isEmpty(sortCriteria)) { + requestBuilder.sortParam(sortCriteria.get(0)); + requestBuilder.sortCriteriaParam(new SortCriterionArray(sortCriteria)); + } + requestBuilder.searchFlagsParam(opContext.getSearchContext().getSearchFlags()); return sendClientRequest(requestBuilder, opContext.getAuthentication()).getEntity(); @@ -903,7 +922,7 @@ public SearchResult filter( @Nonnull OperationContext opContext, @Nonnull String entity, @Nonnull Filter filter, - @Nullable SortCriterion sortCriterion, + List sortCriteria, int start, int count) throws RemoteInvocationException { @@ -914,8 +933,9 @@ public SearchResult filter( .filterParam(filter) .startParam(start) .countParam(count); - if (sortCriterion != null) { - requestBuilder.sortParam(sortCriterion); + if (!CollectionUtils.isEmpty(sortCriteria)) { + requestBuilder.sortParam(sortCriteria.get(0)); + requestBuilder.sortCriteriaParam(new SortCriterionArray(sortCriteria)); } return sendClientRequest(requestBuilder, opContext.getAuthentication()).getEntity(); } @@ -1047,23 +1067,36 @@ public List getTimeseriesAspectValues( .getValues(); } - /** - * Ingest a MetadataChangeProposal event. - * - * @return the urn string ingested - */ + @Nonnull @Override - public String ingestProposal( + public List batchIngestProposals( @Nonnull OperationContext opContext, - @Nonnull final MetadataChangeProposal metadataChangeProposal, - final boolean async) + @Nonnull Collection metadataChangeProposals, + boolean async) throws RemoteInvocationException { - final AspectsDoIngestProposalRequestBuilder requestBuilder = + final AspectsDoIngestProposalBatchRequestBuilder requestBuilder = ASPECTS_REQUEST_BUILDERS - .actionIngestProposal() - .proposalParam(metadataChangeProposal) + .actionIngestProposalBatch() + .proposalsParam(new MetadataChangeProposalArray(metadataChangeProposals)) .asyncParam(String.valueOf(async)); - return sendClientRequest(requestBuilder, opContext.getSessionAuthentication()).getEntity(); + String result = + sendClientRequest(requestBuilder, opContext.getSessionAuthentication()).getEntity(); + return metadataChangeProposals.stream() + .map( + proposal -> { + if ("success".equals(result)) { + if (proposal.getEntityUrn() != null) { + return proposal.getEntityUrn().toString(); + } else { + EntitySpec entitySpec = + opContext.getEntityRegistry().getEntitySpec(proposal.getEntityType()); + return EntityKeyUtils.getUrnFromProposal(proposal, entitySpec.getKeyAspectSpec()) + .toString(); + } + } + return null; + }) + .collect(Collectors.toList()); } @Override diff --git a/metadata-service/restli-servlet-impl/build.gradle b/metadata-service/restli-servlet-impl/build.gradle index c1484f00efe595..6b68abfe7fb15c 100644 --- a/metadata-service/restli-servlet-impl/build.gradle +++ b/metadata-service/restli-servlet-impl/build.gradle @@ -106,3 +106,6 @@ pegasus.main.idlOptions.addIdlItem([ ]) ext.apiProject = project(':metadata-service:restli-api') + +spotlessJava.dependsOn generateTestDataTemplate +spotlessJava.dependsOn generateIntegTestDataTemplate diff --git a/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/entity/EntityResource.java b/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/entity/EntityResource.java index e79dda34256822..8a5473da95ba2a 100644 --- a/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/entity/EntityResource.java +++ b/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/entity/EntityResource.java @@ -13,6 +13,7 @@ import static com.linkedin.metadata.resources.restli.RestliConstants.*; import static com.linkedin.metadata.search.utils.SearchUtils.*; import static com.linkedin.metadata.utils.PegasusUtils.*; +import static com.linkedin.metadata.utils.SystemMetadataUtils.generateSystemMetadataIfEmpty; import com.codahale.metrics.MetricRegistry; import com.datahub.authentication.Authentication; @@ -20,6 +21,7 @@ import com.datahub.authorization.AuthUtil; import com.datahub.authorization.EntitySpec; +import com.linkedin.metadata.utils.SystemMetadataUtils; import io.datahubproject.metadata.context.RequestContext; import io.datahubproject.metadata.services.RestrictedService; import com.linkedin.data.template.SetMode; @@ -257,19 +259,6 @@ public Task> batchGet( MetricRegistry.name(this.getClass(), "batchGet")); } - private SystemMetadata populateDefaultFieldsIfEmpty(@Nullable SystemMetadata systemMetadata) { - SystemMetadata result = systemMetadata; - if (result == null) { - result = new SystemMetadata(); - } - - if (result.getLastObserved() == 0) { - result.setLastObserved(System.currentTimeMillis()); - } - - return result; - } - @Action(name = ACTION_INGEST) @Nonnull @WithSpan @@ -297,7 +286,7 @@ public Task ingest( throw new RestLiServiceException(HttpStatus.S_422_UNPROCESSABLE_ENTITY, e); } - SystemMetadata systemMetadata = populateDefaultFieldsIfEmpty(providedSystemMetadata); + SystemMetadata systemMetadata = generateSystemMetadataIfEmpty(providedSystemMetadata); final AuditStamp auditStamp = new AuditStamp().setTime(_clock.millis()).setActor(Urn.createFromString(actorUrnStr)); @@ -358,7 +347,7 @@ public Task batchIngest( final List finalSystemMetadataList = Arrays.stream(systemMetadataList) - .map(systemMetadata -> populateDefaultFieldsIfEmpty(systemMetadata)) + .map(SystemMetadataUtils::generateSystemMetadataIfEmpty) .collect(Collectors.toList()); return RestliUtil.toTask( @@ -378,6 +367,7 @@ public Task search( @ActionParam(PARAM_INPUT) @Nonnull String input, @ActionParam(PARAM_FILTER) @Optional @Nullable Filter filter, @ActionParam(PARAM_SORT) @Optional @Nullable SortCriterion sortCriterion, + @ActionParam(PARAM_SORT_CRITERIA) @Optional @Nullable SortCriterion[] sortCriteria, @ActionParam(PARAM_START) int start, @ActionParam(PARAM_COUNT) int count, @Optional @Deprecated @Nullable @ActionParam(PARAM_FULLTEXT) Boolean fulltext, @@ -397,6 +387,8 @@ public Task search( RequestContext.builder().buildRestli(auth.getActor().toUrnStr(), getContext(), ACTION_SEARCH, entityName), authorizer, auth, true) .withSearchFlags(flags -> searchFlags != null ? searchFlags : new SearchFlags().setFulltext(Boolean.TRUE.equals(fulltext))); + List sortCriterionList = getSortCriteria(sortCriteria, sortCriterion); + log.info("GET SEARCH RESULTS for {} with query {}", entityName, input); // TODO - change it to use _searchService once we are confident on it's latency return RestliUtil.toTask( @@ -405,7 +397,7 @@ public Task search( // This API is not used by the frontend for search bars so we default to structured result = entitySearchService.search(opContext, - List.of(entityName), input, filter, sortCriterion, start, count); + List.of(entityName), input, filter, sortCriterionList, start, count); if (!isAPIAuthorizedResult( auth, @@ -428,6 +420,7 @@ public Task searchAcrossEntities( @ActionParam(PARAM_INPUT) @Nonnull String input, @ActionParam(PARAM_FILTER) @Optional @Nullable Filter filter, @ActionParam(PARAM_SORT) @Optional @Nullable SortCriterion sortCriterion, + @ActionParam(PARAM_SORT_CRITERIA) @Optional @Nullable SortCriterion[] sortCriteria, @ActionParam(PARAM_START) int start, @ActionParam(PARAM_COUNT) int count, @ActionParam(PARAM_SEARCH_FLAGS) @Optional SearchFlags searchFlags) { @@ -447,10 +440,12 @@ public Task searchAcrossEntities( HttpStatus.S_403_FORBIDDEN, "User is unauthorized to search."); } + List sortCriterionList = getSortCriteria(sortCriteria, sortCriterion); + log.info("GET SEARCH RESULTS ACROSS ENTITIES for {} with query {}", entityList, input); return RestliUtil.toTask( () -> { - SearchResult result = searchService.searchAcrossEntities(opContext, entityList, input, filter, sortCriterion, start, count); + SearchResult result = searchService.searchAcrossEntities(opContext, entityList, input, filter, sortCriterionList, start, count); if (!isAPIAuthorizedResult( auth, authorizer, @@ -463,6 +458,18 @@ public Task searchAcrossEntities( }); } + private List getSortCriteria(@Nullable SortCriterion[] sortCriteria, @Nullable SortCriterion sortCriterion) { + List sortCriterionList; + if (sortCriteria != null) { + sortCriterionList = Arrays.asList(sortCriteria); + } else if (sortCriterion != null) { + sortCriterionList = Collections.singletonList(sortCriterion); + } else { + sortCriterionList = Collections.emptyList(); + } + return sortCriterionList; + } + @Action(name = ACTION_SCROLL_ACROSS_ENTITIES) @Nonnull @WithSpan @@ -471,6 +478,7 @@ public Task scrollAcrossEntities( @ActionParam(PARAM_INPUT) @Nonnull String input, @ActionParam(PARAM_FILTER) @Optional @Nullable Filter filter, @ActionParam(PARAM_SORT) @Optional @Nullable SortCriterion sortCriterion, + @ActionParam(PARAM_SORT_CRITERIA) @Optional @Nullable SortCriterion[] sortCriteria, @ActionParam(PARAM_SCROLL_ID) @Optional @Nullable String scrollId, @ActionParam(PARAM_KEEP_ALIVE) String keepAlive, @ActionParam(PARAM_COUNT) int count, @@ -490,6 +498,8 @@ public Task scrollAcrossEntities( HttpStatus.S_403_FORBIDDEN, "User is unauthorized to search."); } + List sortCriterionList = getSortCriteria(sortCriteria, sortCriterion); + log.info( "GET SCROLL RESULTS ACROSS ENTITIES for {} with query {} and scroll ID: {}", entityList, @@ -503,7 +513,7 @@ public Task scrollAcrossEntities( entityList, input, filter, - sortCriterion, + sortCriterionList, scrollId, keepAlive, count); @@ -531,6 +541,7 @@ public Task searchAcrossLineage( @ActionParam(PARAM_MAX_HOPS) @Optional @Nullable Integer maxHops, @ActionParam(PARAM_FILTER) @Optional @Nullable Filter filter, @ActionParam(PARAM_SORT) @Optional @Nullable SortCriterion sortCriterion, + @ActionParam(PARAM_SORT_CRITERIA) @Optional @Nullable SortCriterion[] sortCriteria, @ActionParam(PARAM_START) int start, @ActionParam(PARAM_COUNT) int count, @ActionParam(PARAM_START_TIME_MILLIS) @Optional @Nullable Long startTimeMillis, @@ -546,6 +557,8 @@ public Task searchAcrossLineage( HttpStatus.S_403_FORBIDDEN, "User is unauthorized to search."); } + List sortCriterionList = getSortCriteria(sortCriteria, sortCriterion); + OperationContext opContext = OperationContext.asSession( systemOperationContext, RequestContext.builder().buildRestli(auth.getActor().toUrnStr(), getContext(), ACTION_SEARCH_ACROSS_LINEAGE, entities), authorizer, auth, true) .withSearchFlags(flags -> (searchFlags != null ? searchFlags : new SearchFlags().setFulltext(true)) @@ -570,7 +583,7 @@ public Task searchAcrossLineage( input, maxHops, filter, - sortCriterion, + sortCriterionList, start, count), entityService), @@ -588,6 +601,7 @@ public Task scrollAcrossLineage( @ActionParam(PARAM_MAX_HOPS) @Optional @Nullable Integer maxHops, @ActionParam(PARAM_FILTER) @Optional @Nullable Filter filter, @ActionParam(PARAM_SORT) @Optional @Nullable SortCriterion sortCriterion, + @ActionParam(PARAM_SORT_CRITERIA) @Optional @Nullable SortCriterion[] sortCriteria, @ActionParam(PARAM_SCROLL_ID) @Optional @Nullable String scrollId, @ActionParam(PARAM_KEEP_ALIVE) String keepAlive, @ActionParam(PARAM_COUNT) int count, @@ -622,6 +636,8 @@ public Task scrollAcrossLineage( entityList, input); + List sortCriterionList = getSortCriteria(sortCriteria, sortCriterion); + return RestliUtil.toTask( () -> validateLineageScrollResult(opContext, @@ -633,7 +649,7 @@ public Task scrollAcrossLineage( input, maxHops, filter, - sortCriterion, + sortCriterionList, scrollId, keepAlive, count), @@ -648,6 +664,7 @@ public Task list( @ActionParam(PARAM_ENTITY) @Nonnull String entityName, @ActionParam(PARAM_FILTER) @Optional @Nullable Filter filter, @ActionParam(PARAM_SORT) @Optional @Nullable SortCriterion sortCriterion, + @ActionParam(PARAM_SORT_CRITERIA) @Optional @Nullable SortCriterion[] sortCriteria, @ActionParam(PARAM_START) int start, @ActionParam(PARAM_COUNT) int count) { @@ -664,10 +681,12 @@ public Task list( systemOperationContext, RequestContext.builder().buildRestli(auth.getActor().toUrnStr(), getContext(), ACTION_LIST, entityName), authorizer, auth, true) .withSearchFlags(flags -> new SearchFlags().setFulltext(false)); + List sortCriterionList = getSortCriteria(sortCriteria, sortCriterion); + log.info("GET LIST RESULTS for {} with filter {}", entityName, filter); return RestliUtil.toTask( () -> { - SearchResult result = entitySearchService.filter(opContext, entityName, filter, sortCriterion, start, count); + SearchResult result = entitySearchService.filter(opContext, entityName, filter, sortCriterionList, start, count); if (!AuthUtil.isAPIAuthorizedResult( auth, authorizer, @@ -1159,6 +1178,7 @@ public Task filter( @ActionParam(PARAM_ENTITY) @Nonnull String entityName, @ActionParam(PARAM_FILTER) Filter filter, @ActionParam(PARAM_SORT) @Optional @Nullable SortCriterion sortCriterion, + @ActionParam(PARAM_SORT_CRITERIA) @Optional @Nullable SortCriterion[] sortCriteria, @ActionParam(PARAM_START) int start, @ActionParam(PARAM_COUNT) int count) { @@ -1172,10 +1192,12 @@ public Task filter( } OperationContext opContext = OperationContext.asSession( systemOperationContext, RequestContext.builder().buildRestli(auth.getActor().toUrnStr(), getContext(), ACTION_FILTER, entityName), authorizer, auth, true); + + List sortCriterionList = getSortCriteria(sortCriteria, sortCriterion); log.info("FILTER RESULTS for {} with filter {}", entityName, filter); return RestliUtil.toTask( () -> { - SearchResult result = entitySearchService.filter(opContext.withSearchFlags(flags -> flags.setFulltext(true)), entityName, filter, sortCriterion, start, count); + SearchResult result = entitySearchService.filter(opContext.withSearchFlags(flags -> flags.setFulltext(true)), entityName, filter, sortCriterionList, start, count); if (!isAPIAuthorizedResult( auth, authorizer, diff --git a/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/restli/RestliConstants.java b/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/restli/RestliConstants.java index af6efb1ad80939..ef79a404c2145e 100644 --- a/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/restli/RestliConstants.java +++ b/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/restli/RestliConstants.java @@ -24,6 +24,7 @@ private RestliConstants() {} public static final String PARAM_FILTER = "filter"; public static final String PARAM_GROUP = "group"; public static final String PARAM_SORT = "sort"; + public static final String PARAM_SORT_CRITERIA = "sortCriteria"; public static final String PARAM_QUERY = "query"; public static final String PARAM_FIELD = "field"; public static final String PARAM_PATH = "path"; diff --git a/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/usage/UsageStats.java b/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/usage/UsageStats.java index 518dfecd576808..1b003fec82e8b8 100644 --- a/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/usage/UsageStats.java +++ b/metadata-service/restli-servlet-impl/src/main/java/com/linkedin/metadata/resources/usage/UsageStats.java @@ -2,25 +2,20 @@ import static com.datahub.authorization.AuthUtil.isAPIAuthorized; import static com.datahub.authorization.AuthUtil.isAPIAuthorizedEntityUrns; -import static com.linkedin.metadata.Constants.*; import static com.linkedin.metadata.authorization.ApiOperation.UPDATE; import static com.linkedin.metadata.timeseries.elastic.UsageServiceUtil.USAGE_STATS_ASPECT_NAME; import static com.linkedin.metadata.timeseries.elastic.UsageServiceUtil.USAGE_STATS_ENTITY_NAME; import com.codahale.metrics.MetricRegistry; -import com.codahale.metrics.Timer; import com.datahub.authentication.Authentication; import com.datahub.authentication.AuthenticationContext; import com.datahub.authorization.EntitySpec; import com.datahub.plugins.auth.authorization.Authorizer; import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.StreamReadConstraints; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import com.linkedin.common.WindowDuration; import com.linkedin.common.urn.Urn; import com.linkedin.common.urn.UrnUtils; -import com.linkedin.data.template.StringArray; import com.linkedin.dataset.DatasetFieldUsageCounts; import com.linkedin.dataset.DatasetFieldUsageCountsArray; import com.linkedin.dataset.DatasetUsageStatistics; @@ -29,17 +24,10 @@ import com.linkedin.metadata.authorization.PoliciesConfig; import com.linkedin.metadata.models.AspectSpec; import com.linkedin.metadata.models.registry.EntityRegistry; -import com.linkedin.metadata.query.filter.Condition; -import com.linkedin.metadata.query.filter.ConjunctiveCriterion; -import com.linkedin.metadata.query.filter.ConjunctiveCriterionArray; -import com.linkedin.metadata.query.filter.Criterion; -import com.linkedin.metadata.query.filter.CriterionArray; -import com.linkedin.metadata.query.filter.Filter; import com.linkedin.metadata.restli.RestliUtil; import com.linkedin.metadata.timeseries.TimeseriesAspectService; import com.linkedin.metadata.timeseries.elastic.UsageServiceUtil; import com.linkedin.metadata.timeseries.transformer.TimeseriesAspectTransformer; -import com.linkedin.metadata.utils.metrics.MetricUtils; import com.linkedin.parseq.Task; import com.linkedin.restli.common.HttpStatus; import com.linkedin.restli.server.RestLiServiceException; @@ -47,35 +35,20 @@ import com.linkedin.restli.server.annotations.ActionParam; import com.linkedin.restli.server.annotations.RestLiSimpleResource; import com.linkedin.restli.server.resources.SimpleResourceTemplate; -import com.linkedin.timeseries.AggregationSpec; -import com.linkedin.timeseries.AggregationType; -import com.linkedin.timeseries.CalendarInterval; -import com.linkedin.timeseries.GenericTable; -import com.linkedin.timeseries.GroupingBucket; -import com.linkedin.timeseries.GroupingBucketType; import com.linkedin.timeseries.TimeWindowSize; import com.linkedin.usage.FieldUsageCounts; -import com.linkedin.usage.FieldUsageCountsArray; import com.linkedin.usage.UsageAggregation; -import com.linkedin.usage.UsageAggregationArray; import com.linkedin.usage.UsageAggregationMetrics; import com.linkedin.usage.UsageQueryResult; -import com.linkedin.usage.UsageQueryResultAggregations; import com.linkedin.usage.UsageTimeRange; import com.linkedin.usage.UserUsageCounts; -import com.linkedin.usage.UserUsageCountsArray; import io.datahubproject.metadata.context.OperationContext; import io.datahubproject.metadata.context.RequestContext; import io.opentelemetry.extension.annotations.WithSpan; -import java.net.URISyntaxException; -import java.time.Instant; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import java.util.concurrent.TimeUnit; import javax.annotation.Nonnull; import javax.inject.Inject; import javax.inject.Named; @@ -255,7 +228,8 @@ private void ingest(@Nonnull OperationContext opContext, @Nonnull UsageAggregati try { documents = TimeseriesAspectTransformer.transform( - bucket.getResource(), datasetUsageStatistics, getUsageStatsAspectSpec(), null); + bucket.getResource(), datasetUsageStatistics, getUsageStatsAspectSpec(), null, + systemOperationContext.getSearchContext().getIndexConvention().getIdHashAlgo()); } catch (JsonProcessingException e) { log.error("Failed to generate timeseries document from aspect: {}", e.toString()); return; diff --git a/metadata-service/restli-servlet-impl/src/test/java/mock/MockTimeseriesAspectService.java b/metadata-service/restli-servlet-impl/src/test/java/mock/MockTimeseriesAspectService.java index aaf90d279e0bda..7ed183e975f3b9 100644 --- a/metadata-service/restli-servlet-impl/src/test/java/mock/MockTimeseriesAspectService.java +++ b/metadata-service/restli-servlet-impl/src/test/java/mock/MockTimeseriesAspectService.java @@ -137,7 +137,7 @@ public TimeseriesScrollResult scrollAspects( @Nonnull String entityName, @Nonnull String aspectName, @Nullable Filter filter, - @Nonnull List sortCriterion, + @Nonnull List sortCriteria, @Nullable String scrollId, int count, @Nullable Long startTimeMillis, diff --git a/metadata-service/schema-registry-servlet/src/main/java/io/datahubproject/openapi/schema/registry/SchemaRegistryController.java b/metadata-service/schema-registry-servlet/src/main/java/io/datahubproject/openapi/schema/registry/SchemaRegistryController.java index d73b353f38ae78..09043c6dd5e87e 100644 --- a/metadata-service/schema-registry-servlet/src/main/java/io/datahubproject/openapi/schema/registry/SchemaRegistryController.java +++ b/metadata-service/schema-registry-servlet/src/main/java/io/datahubproject/openapi/schema/registry/SchemaRegistryController.java @@ -307,7 +307,11 @@ public ResponseEntity register( }) .orElseGet( () -> { - log.error("Couldn't find topic with name {}.", topicName); + if (topicName.matches("^[a-zA-Z0-9._-]+$")) { + log.error("Couldn't find topic with name {}.", topicName); + } else { + log.error("Couldn't find topic (Malformed topic name)"); + } return new ResponseEntity<>(HttpStatus.NOT_FOUND); }); } diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/entity/DeleteEntityService.java b/metadata-service/services/src/main/java/com/linkedin/metadata/entity/DeleteEntityService.java index aed9b97411ff68..ed14dec4ed940a 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/entity/DeleteEntityService.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/entity/DeleteEntityService.java @@ -729,11 +729,11 @@ private MetadataChangeProposal updateFormsAspect( .collect(Collectors.toList()); List completedForms = formsAspect.getCompletedForms().stream() - .filter(completedForm -> completedForm.getUrn() != deletedUrn) + .filter(completedForm -> !completedForm.getUrn().equals(deletedUrn)) .collect(Collectors.toList()); final List verifications = formsAspect.getVerifications().stream() - .filter(verification -> verification.getForm() != deletedUrn) + .filter(verification -> !verification.getForm().equals(deletedUrn)) .collect(Collectors.toList()); updatedAspect.get().setIncompleteForms(new FormAssociationArray(incompleteForms)); diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/entity/restoreindices/RestoreIndicesArgs.java b/metadata-service/services/src/main/java/com/linkedin/metadata/entity/restoreindices/RestoreIndicesArgs.java index 89e69174c1502d..cae8c97456c069 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/entity/restoreindices/RestoreIndicesArgs.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/entity/restoreindices/RestoreIndicesArgs.java @@ -1,6 +1,8 @@ package com.linkedin.metadata.entity.restoreindices; import java.time.Instant; +import java.util.Collections; +import java.util.List; import lombok.Data; import lombok.experimental.Accessors; @@ -20,6 +22,7 @@ public class RestoreIndicesArgs implements Cloneable { public long gePitEpochMs = DEFAULT_GE_PIT_EPOCH_MS; public long lePitEpochMs; public String aspectName; + public List aspectNames = Collections.emptyList(); public String urn; public String urnLike; public Boolean urnBasedPagination = false; diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/search/EntitySearchService.java b/metadata-service/services/src/main/java/com/linkedin/metadata/search/EntitySearchService.java index a3db4b029b68bb..26f2335d0c59fb 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/search/EntitySearchService.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/search/EntitySearchService.java @@ -6,6 +6,7 @@ import com.linkedin.metadata.query.AutoCompleteResult; import com.linkedin.metadata.query.filter.Filter; import com.linkedin.metadata.query.filter.SortCriterion; +import com.linkedin.metadata.utils.elasticsearch.IndexConvention; import io.datahubproject.metadata.context.OperationContext; import java.util.List; import java.util.Map; @@ -80,7 +81,7 @@ void appendRunId( * @param input the search input text * @param postFilters the request map with fields and values as filters to be applied to search * hits - * @param sortCriterion {@link SortCriterion} to be applied to search results + * @param sortCriteria list of {@link SortCriterion} to be applied to search results * @param from index to start the search from * @param size the number of search hits to return * @return a {@link SearchResult} that contains a list of matched documents and related search @@ -92,7 +93,7 @@ SearchResult search( @Nonnull List entityNames, @Nonnull String input, @Nullable Filter postFilters, - @Nullable SortCriterion sortCriterion, + List sortCriteria, int from, int size); @@ -108,7 +109,7 @@ SearchResult search( * @param input the search input text * @param postFilters the request map with fields and values as filters to be applied to search * hits - * @param sortCriterion {@link SortCriterion} to be applied to search results + * @param sortCriteria list of {@link SortCriterion} to be applied to search results * @param from index to start the search from * @param size the number of search hits to return * @param facets list of facets we want aggregations for @@ -121,7 +122,7 @@ SearchResult search( @Nonnull List entityNames, @Nonnull String input, @Nullable Filter postFilters, - @Nullable SortCriterion sortCriterion, + List sortCriteria, int from, int size, @Nullable List facets); @@ -132,7 +133,7 @@ SearchResult search( * @param entityName name of the entity * @param filters the request map with fields and values to be applied as filters to the search * query - * @param sortCriterion {@link SortCriterion} to be applied to search results + * @param sortCriteria list of {@link SortCriterion} to be applied to search results * @param from index to start the search from * @param size number of search hits to return * @return a {@link SearchResult} that contains a list of filtered documents and related search @@ -143,7 +144,7 @@ SearchResult filter( @Nonnull OperationContext opContext, @Nonnull String entityName, @Nullable Filter filters, - @Nullable SortCriterion sortCriterion, + List sortCriteria, int from, int size); @@ -265,7 +266,7 @@ List getBrowsePaths( * @param input the search input text * @param postFilters the request map with fields and values as filters to be applied to search * hits - * @param sortCriterion {@link SortCriterion} to be applied to search results + * @param sortCriteria list of {@link SortCriterion} to be applied to search results * @param scrollId opaque scroll identifier to pass to search service * @param size the number of search hits to return * @return a {@link ScrollResult} that contains a list of matched documents and related search @@ -277,7 +278,7 @@ ScrollResult fullTextScroll( @Nonnull List entities, @Nonnull String input, @Nullable Filter postFilters, - @Nullable SortCriterion sortCriterion, + List sortCriteria, @Nullable String scrollId, @Nullable String keepAlive, int size); @@ -290,7 +291,7 @@ ScrollResult fullTextScroll( * @param input the search input text * @param postFilters the request map with fields and values as filters to be applied to search * hits - * @param sortCriterion {@link SortCriterion} to be applied to search results + * @param sortCriteria list of {@link SortCriterion} to be applied to search results * @param scrollId opaque scroll identifier to pass to search service * @param size the number of search hits to return * @return a {@link ScrollResult} that contains a list of matched documents and related search @@ -302,7 +303,7 @@ ScrollResult structuredScroll( @Nonnull List entities, @Nonnull String input, @Nullable Filter postFilters, - @Nullable SortCriterion sortCriterion, + List sortCriteria, @Nullable String scrollId, @Nullable String keepAlive, int size); @@ -316,9 +317,16 @@ ExplainResponse explain( @Nonnull String documentId, @Nonnull String entityName, @Nullable Filter postFilters, - @Nullable SortCriterion sortCriterion, + List sortCriteria, @Nullable String scrollId, @Nullable String keepAlive, int size, @Nullable List facets); + + /** + * Return index convention + * + * @return convent + */ + IndexConvention getIndexConvention(); } diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/search/utils/QueryUtils.java b/metadata-service/services/src/main/java/com/linkedin/metadata/search/utils/QueryUtils.java index a148a45b20e0c7..730a2886ab2bf0 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/search/utils/QueryUtils.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/search/utils/QueryUtils.java @@ -4,9 +4,11 @@ import com.datahub.util.ModelUtils; import com.google.common.collect.ImmutableList; +import com.linkedin.common.urn.Urn; import com.linkedin.data.template.RecordTemplate; import com.linkedin.data.template.StringArray; import com.linkedin.metadata.aspect.AspectVersion; +import com.linkedin.metadata.config.DataHubAppConfiguration; import com.linkedin.metadata.models.EntitySpec; import com.linkedin.metadata.models.SearchableFieldSpec; import com.linkedin.metadata.models.annotation.SearchableAnnotation; @@ -20,14 +22,17 @@ import com.linkedin.metadata.query.filter.RelationshipDirection; import com.linkedin.metadata.query.filter.RelationshipFilter; import com.linkedin.util.Pair; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import org.apache.commons.collections.CollectionUtils; public class QueryUtils { @@ -87,6 +92,25 @@ public static Filter newFilter(@Nonnull Criterion criterion) { .setAnd(new CriterionArray(ImmutableList.of(criterion)))))); } + @Nonnull + public static Filter newDisjunctiveFilter(@Nonnull Criterion... orCriterion) { + return new Filter() + .setOr( + Arrays.stream(orCriterion) + .map( + criterion -> + new ConjunctiveCriterion() + .setAnd(new CriterionArray(ImmutableList.of(criterion)))) + .collect(Collectors.toCollection(ConjunctiveCriterionArray::new))); + } + + @Nonnull + public static ConjunctiveCriterion add( + @Nonnull ConjunctiveCriterion conjunctiveCriterion, @Nonnull Criterion element) { + conjunctiveCriterion.getAnd().add(element); + return conjunctiveCriterion; + } + @Nonnull public static Filter filterOrDefaultEmptyFilter(@Nullable Filter filter) { return filter != null ? filter : EMPTY_FILTER; @@ -195,4 +219,77 @@ public static List getQueryByDefaultEntitySpecs(EntityRegistry entit .map(Pair::getFirst) .collect(Collectors.toList()); } + + /** + * Build a filter with URNs and an optional existing filter + * + * @param urns urns to limit returns + * @param inputFilters optional existing filter + * @return filter with additional URN criterion + */ + public static Filter buildFilterWithUrns( + @Nonnull DataHubAppConfiguration appConfig, + @Nonnull Set urns, + @Nullable Filter inputFilters) { + // Determine which field is used for urn selection based on config + boolean schemaFieldEnabled = + appConfig.getMetadataChangeProposal().getSideEffects().getSchemaField().isEnabled(); + + // Prevent increasing the query size by avoiding querying multiple fields with the + // same URNs + Criterion urnMatchCriterion = + new Criterion() + .setField("urn") + .setValue("") + .setValues( + new StringArray( + urns.stream() + .filter( + urn -> + !schemaFieldEnabled + || !urn.getEntityType().equals(SCHEMA_FIELD_ENTITY_NAME)) + .map(Object::toString) + .collect(Collectors.toList()))); + + Criterion schemaUrnAliasCriterion = + new Criterion() + .setField(String.format("%s.keyword", SCHEMA_FIELD_ALIASES_ASPECT)) + .setValue("") + .setValues( + new StringArray( + urns.stream() + .filter( + urn -> + schemaFieldEnabled + && urn.getEntityType().equals(SCHEMA_FIELD_ENTITY_NAME)) + .map(Object::toString) + .collect(Collectors.toList()))); + + if (inputFilters == null || CollectionUtils.isEmpty(inputFilters.getOr())) { + return QueryUtils.newDisjunctiveFilter(urnMatchCriterion, schemaUrnAliasCriterion); + } + + // Add urn match criterion to each or clause + inputFilters.setOr( + inputFilters.getOr().stream() + .flatMap( + existingCriterion -> { + try { + return Stream.concat( + urnMatchCriterion.getValues().isEmpty() + ? Stream.of() + : Stream.of( + QueryUtils.add(existingCriterion.copy(), urnMatchCriterion)), + schemaUrnAliasCriterion.getValues().isEmpty() + ? Stream.of() + : Stream.of( + QueryUtils.add(existingCriterion.copy(), schemaUrnAliasCriterion))); + } catch (CloneNotSupportedException e) { + throw new RuntimeException(e); + } + }) + .collect(Collectors.toCollection(ConjunctiveCriterionArray::new))); + + return inputFilters; + } } diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/service/FormService.java b/metadata-service/services/src/main/java/com/linkedin/metadata/service/FormService.java index 210fba82eb4e20..b702a618404230 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/service/FormService.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/service/FormService.java @@ -312,7 +312,7 @@ private void ingestSchemaFieldStructuredProperties( @Nonnull final PrimitivePropertyValueArray values, @Nonnull final String fieldPath) throws Exception { - Urn schemaFieldUrn = SchemaFieldUtils.generateSchemaFieldUrn(entityUrn.toString(), fieldPath); + Urn schemaFieldUrn = SchemaFieldUtils.generateSchemaFieldUrn(entityUrn, fieldPath); ingestStructuredProperties(opContext, schemaFieldUrn, structuredPropertyUrn, values); } diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/service/RollbackService.java b/metadata-service/services/src/main/java/com/linkedin/metadata/service/RollbackService.java index 01af399c9b1155..403665120c6868 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/service/RollbackService.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/service/RollbackService.java @@ -173,7 +173,7 @@ public RollbackResponse rollbackIngestion( // Rollback timeseries aspects DeleteAspectValuesResult timeseriesRollbackResult = timeseriesAspectService.rollbackTimeseriesAspects(opContext, runId); - rowsDeletedFromEntityDeletion += timeseriesRollbackResult.getNumDocsDeleted(); + rowsDeletedFromEntityDeletion += timeseriesRollbackResult.getNumDocsDeleted().intValue(); log.info("finished deleting {} rows", deletedRows.size()); int aspectsReverted = deletedRows.size() + rowsDeletedFromEntityDeletion; diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/timeline/data/ChangeTransaction.java b/metadata-service/services/src/main/java/com/linkedin/metadata/timeline/data/ChangeTransaction.java index 3e963dba0cdb4c..f34c20e6acd763 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/timeline/data/ChangeTransaction.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/timeline/data/ChangeTransaction.java @@ -1,8 +1,8 @@ package com.linkedin.metadata.timeline.data; -import com.github.fge.jsonpatch.JsonPatch; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.json.JsonPatch; import java.util.List; import lombok.Builder; import lombok.Getter; diff --git a/metadata-service/services/src/main/java/com/linkedin/metadata/timeseries/TimeseriesAspectService.java b/metadata-service/services/src/main/java/com/linkedin/metadata/timeseries/TimeseriesAspectService.java index 6b1f484ac0a518..68c82f0ef2e0da 100644 --- a/metadata-service/services/src/main/java/com/linkedin/metadata/timeseries/TimeseriesAspectService.java +++ b/metadata-service/services/src/main/java/com/linkedin/metadata/timeseries/TimeseriesAspectService.java @@ -226,7 +226,7 @@ TimeseriesScrollResult scrollAspects( @Nonnull final String entityName, @Nonnull final String aspectName, @Nullable Filter filter, - @Nonnull List sortCriterion, + @Nonnull List sortCriteria, @Nullable String scrollId, int count, @Nullable Long startTimeMillis, diff --git a/metadata-service/war/src/main/java/com/linkedin/gms/CommonApplicationConfig.java b/metadata-service/war/src/main/java/com/linkedin/gms/CommonApplicationConfig.java index bc623c3cc983c2..e47a2b4e278e4e 100644 --- a/metadata-service/war/src/main/java/com/linkedin/gms/CommonApplicationConfig.java +++ b/metadata-service/war/src/main/java/com/linkedin/gms/CommonApplicationConfig.java @@ -37,7 +37,10 @@ "com.linkedin.gms.factory.search", "com.linkedin.gms.factory.secret", "com.linkedin.gms.factory.timeseries", - "com.linkedin.gms.factory.plugins" + "com.linkedin.gms.factory.plugins", + "com.linkedin.gms.factory.change", + "com.datahub.event.hook", + "com.linkedin.gms.factory.notifications" }) @PropertySource(value = "classpath:/application.yaml", factory = YamlPropertySourceFactory.class) @Configuration diff --git a/metadata-service/war/src/main/resources/boot/data_platforms.json b/metadata-service/war/src/main/resources/boot/data_platforms.json index ab040ad2854ddb..0eb6256e3aeee3 100644 --- a/metadata-service/war/src/main/resources/boot/data_platforms.json +++ b/metadata-service/war/src/main/resources/boot/data_platforms.json @@ -68,6 +68,16 @@ "logoUrl": "/assets/platforms/couchbaselogo.png" } }, + { + "urn": "urn:li:dataPlatform:dagster", + "aspect": { + "datasetNameDelimiter": "/", + "name": "dagster", + "displayName": "Dagster", + "type": "OTHERS", + "logoUrl": "/assets/platforms/dagsterlogo.png" + } + }, { "urn": "urn:li:dataPlatform:external", "aspect": { @@ -247,6 +257,26 @@ "logoUrl": "/assets/platforms/postgreslogo.png" } }, + { + "urn": "urn:li:dataPlatform:prefect", + "aspect": { + "datasetNameDelimiter": ".", + "name": "prefect", + "displayName": "Prefect", + "type": "OTHERS", + "logoUrl": "/assets/platforms/prefectlogo.png" + } + }, + { + "urn": "urn:li:dataPlatform:presto", + "aspect": { + "datasetNameDelimiter": ".", + "name": "prefect", + "displayName": "Prefect", + "type": "OTHERS", + "logoUrl": "/assets/platforms/prefectlogo.png" + } + }, { "urn": "urn:li:dataPlatform:presto", "aspect": { @@ -664,5 +694,15 @@ "type": "OTHERS", "logoUrl": "/assets/platforms/sigmalogo.png" } + }, + { + "urn": "urn:li:dataPlatform:sac", + "aspect": { + "datasetNameDelimiter": ".", + "name": "sac", + "displayName": "SAP Analytics Cloud", + "type": "OTHERS", + "logoUrl": "/assets/platforms/saclogo.svg" + } } ] diff --git a/metadata-service/war/src/main/resources/boot/global_settings.json b/metadata-service/war/src/main/resources/boot/global_settings.json index 129783afd6df49..35145b85202a7b 100644 --- a/metadata-service/war/src/main/resources/boot/global_settings.json +++ b/metadata-service/war/src/main/resources/boot/global_settings.json @@ -1,4 +1,8 @@ { "views": { + }, + "docPropagation": { + "enabled": true, + "columnPropagationEnabled": true } } \ No newline at end of file diff --git a/metadata-service/war/src/main/resources/boot/policies.json b/metadata-service/war/src/main/resources/boot/policies.json index 53c773d130f32b..e62d0a33e7cd05 100644 --- a/metadata-service/war/src/main/resources/boot/policies.json +++ b/metadata-service/war/src/main/resources/boot/policies.json @@ -2,15 +2,15 @@ { "urn": "urn:li:dataHubPolicy:0", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [ "urn:li:corpuser:datahub" ] }, - "privileges":[ + "privileges": [ "MANAGE_POLICIES", "MANAGE_INGESTION", "MANAGE_SECRETS", @@ -36,27 +36,28 @@ "CREATE_BUSINESS_ATTRIBUTE", "MANAGE_BUSINESS_ATTRIBUTE", "MANAGE_STRUCTURED_PROPERTIES", - "MANAGE_DOCUMENTATION_FORMS" + "MANAGE_DOCUMENTATION_FORMS", + "MANAGE_FEATURES" ], - "displayName":"Root User - All Platform Privileges", - "description":"Grants all platform privileges to root user.", - "state":"ACTIVE", - "type":"PLATFORM", - "editable":false + "displayName": "Root User - All Platform Privileges", + "description": "Grants all platform privileges to root user.", + "state": "ACTIVE", + "type": "PLATFORM", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:1", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [ "urn:li:corpuser:datahub" ] }, - "privileges":[ + "privileges": [ "EDIT_ENTITY", "VIEW_ENTITY_PAGE", "EDIT_LINEAGE", @@ -72,43 +73,43 @@ "DELETE_ENTITY", "ES_EXPLAIN_QUERY_PRIVILEGE" ], - "displayName":"Root User - Edit and View All Resources", - "description":"Grants all edit and view privileges for all resources to root user.", - "state":"ACTIVE", - "type":"METADATA", - "editable":false + "displayName": "Root User - Edit and View All Resources", + "description": "Grants all edit and view privileges for all resources to root user.", + "state": "ACTIVE", + "type": "METADATA", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:7", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":true, - "allGroups":false, - "users":[] + "actors": { + "resourceOwners": false, + "allUsers": true, + "allGroups": false, + "users": [] }, - "privileges":[ + "privileges": [ "VIEW_ANALYTICS", "GENERATE_PERSONAL_ACCESS_TOKENS" ], - "displayName":"All Users - Base Platform Privileges", - "description":"Grants base platform privileges to ALL users of DataHub. Change this policy to alter that behavior.", - "state":"ACTIVE", - "type":"PLATFORM", - "editable":true + "displayName": "All Users - Base Platform Privileges", + "description": "Grants base platform privileges to ALL users of DataHub. Change this policy to alter that behavior.", + "state": "ACTIVE", + "type": "PLATFORM", + "editable": true } }, { "urn": "urn:li:dataHubPolicy:view-entity-page-all", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":true, - "allGroups":false, - "users":[] + "actors": { + "resourceOwners": false, + "allUsers": true, + "allGroups": false, + "users": [] }, - "privileges":[ + "privileges": [ "VIEW_ENTITY_PAGE", "SEARCH_PRIVILEGE", "GET_COUNTS_PRIVILEGE", @@ -117,47 +118,47 @@ "GET_TIMELINE_PRIVILEGE", "ES_EXPLAIN_QUERY_PRIVILEGE" ], - "displayName":"All Users - View Entity Page", - "description":"Grants entity view to all users", - "state":"ACTIVE", - "type":"METADATA", - "editable":true + "displayName": "All Users - View Entity Page", + "description": "Grants entity view to all users", + "state": "ACTIVE", + "type": "METADATA", + "editable": true } }, { "urn": "urn:li:dataHubPolicy:view-dataset-sensitive", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":true, - "allGroups":false, - "users":[] + "actors": { + "resourceOwners": false, + "allUsers": true, + "allGroups": false, + "users": [] }, - "privileges":[ + "privileges": [ "VIEW_DATASET_USAGE", "VIEW_DATASET_PROFILE" ], - "displayName":"All Users - View Dataset Sensitive Information", - "description":"Grants viewing privileges of usage and profile information of all datasets for all users", - "state":"ACTIVE", - "type":"METADATA", - "editable":true + "displayName": "All Users - View Dataset Sensitive Information", + "description": "Grants viewing privileges of usage and profile information of all datasets for all users", + "state": "ACTIVE", + "type": "METADATA", + "editable": true } }, { "urn": "urn:li:dataHubPolicy:admin-platform-policy", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[], - "roles":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [], + "roles": [ "urn:li:dataHubRole:Admin" ] }, - "privileges":[ + "privileges": [ "MANAGE_POLICIES", "MANAGE_INGESTION", "MANAGE_SECRETS", @@ -183,29 +184,30 @@ "CREATE_BUSINESS_ATTRIBUTE", "MANAGE_BUSINESS_ATTRIBUTE", "MANAGE_STRUCTURED_PROPERTIES", - "MANAGE_DOCUMENTATION_FORMS" + "MANAGE_DOCUMENTATION_FORMS", + "MANAGE_FEATURES" ], - "displayName":"Admins - Platform Policy", - "description":"Admins have all platform privileges.", - "state":"ACTIVE", - "type":"PLATFORM", - "editable":false + "displayName": "Admins - Platform Policy", + "description": "Admins have all platform privileges.", + "state": "ACTIVE", + "type": "PLATFORM", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:admin-metadata-policy", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[], - "roles":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [], + "roles": [ "urn:li:dataHubRole:Admin" ] }, - "privileges":[ + "privileges": [ "VIEW_ENTITY_PAGE", "EDIT_ENTITY_TAGS", "EDIT_ENTITY_GLOSSARY_TERMS", @@ -243,27 +245,27 @@ "ES_EXPLAIN_QUERY_PRIVILEGE", "EDIT_ENTITY_PROPERTIES" ], - "displayName":"Admins - Metadata Policy", - "description":"Admins have all metadata privileges.", - "state":"ACTIVE", - "type":"METADATA", - "editable":false + "displayName": "Admins - Metadata Policy", + "description": "Admins have all metadata privileges.", + "state": "ACTIVE", + "type": "METADATA", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:editor-platform-policy", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[], - "roles":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [], + "roles": [ "urn:li:dataHubRole:Editor" ] }, - "privileges":[ + "privileges": [ "GENERATE_PERSONAL_ACCESS_TOKENS", "MANAGE_DOMAINS", "MANAGE_GLOBAL_ANNOUNCEMENTS", @@ -271,29 +273,30 @@ "MANAGE_TAGS", "MANAGE_BUSINESS_ATTRIBUTE", "MANAGE_STRUCTURED_PROPERTIES", - "MANAGE_DOCUMENTATION_FORMS" + "MANAGE_DOCUMENTATION_FORMS", + "MANAGE_FEATURES" ], - "displayName":"Editors - Platform Policy", - "description":"Editors can manage ingestion and view analytics.", - "state":"ACTIVE", - "type":"PLATFORM", - "editable":false + "displayName": "Editors - Platform Policy", + "description": "Editors can manage ingestion and view analytics.", + "state": "ACTIVE", + "type": "PLATFORM", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:editor-metadata-policy", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[], - "roles":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [], + "roles": [ "urn:li:dataHubRole:Editor" ] }, - "privileges":[ + "privileges": [ "VIEW_ENTITY_PAGE", "EDIT_ENTITY_TAGS", "EDIT_ENTITY_GLOSSARY_TERMS", @@ -324,23 +327,23 @@ "ES_EXPLAIN_QUERY_PRIVILEGE", "EDIT_ENTITY_PROPERTIES" ], - "displayName":"Editors - Metadata Policy", - "description":"Editors have all metadata privileges.", - "state":"ACTIVE", - "type":"METADATA", - "editable":false + "displayName": "Editors - Metadata Policy", + "description": "Editors have all metadata privileges.", + "state": "ACTIVE", + "type": "METADATA", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:editor-metadata-policy-entities", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[], - "roles":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [], + "roles": [ "urn:li:dataHubRole:Editor" ] }, @@ -362,58 +365,59 @@ "glossaryTerm", "glossaryNode", "notebook", - "dataProduct" + "dataProduct", + "dataProcessInstance" ], "condition": "EQUALS" } ] } }, - "privileges":[ + "privileges": [ "EDIT_ENTITY" ], - "displayName":"Editors - Edit Metadata Entities", - "description":"Editors can edit primary metadata entities.", - "state":"ACTIVE", - "type":"METADATA", - "editable":true + "displayName": "Editors - Edit Metadata Entities", + "description": "Editors can edit primary metadata entities.", + "state": "ACTIVE", + "type": "METADATA", + "editable": true } }, { "urn": "urn:li:dataHubPolicy:reader-platform-policy", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[], - "roles":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [], + "roles": [ "urn:li:dataHubRole:Reader" ] }, - "privileges":[], - "displayName":"Readers - Platform Policy", - "description":"Readers can view analytics.", - "state":"ACTIVE", - "type":"PLATFORM", - "editable":false + "privileges": [], + "displayName": "Readers - Platform Policy", + "description": "Readers can view analytics.", + "state": "ACTIVE", + "type": "PLATFORM", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:reader-metadata-policy", "info": { - "actors":{ - "resourceOwners":false, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[], - "roles":[ + "actors": { + "resourceOwners": false, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [], + "roles": [ "urn:li:dataHubRole:Reader" ] }, - "privileges":[ + "privileges": [ "VIEW_ENTITY_PAGE", "VIEW_DATASET_USAGE", "VIEW_DATASET_PROFILE", @@ -424,24 +428,24 @@ "GET_TIMELINE_PRIVILEGE", "ES_EXPLAIN_QUERY_PRIVILEGE" ], - "displayName":"Readers - Metadata Policy", - "description":"Readers can view all assets.", - "state":"ACTIVE", - "type":"METADATA", - "editable":false + "displayName": "Readers - Metadata Policy", + "description": "Readers can view all assets.", + "state": "ACTIVE", + "type": "METADATA", + "editable": false } }, { "urn": "urn:li:dataHubPolicy:asset-owners-metadata-policy", "info": { - "actors":{ - "resourceOwners":true, - "allUsers":false, - "allGroups":false, - "users":[], - "groups":[] + "actors": { + "resourceOwners": true, + "allUsers": false, + "allGroups": false, + "users": [], + "groups": [] }, - "privileges":[ + "privileges": [ "VIEW_ENTITY_PAGE", "EDIT_ENTITY_TAGS", "EDIT_ENTITY_GLOSSARY_TERMS", @@ -475,11 +479,11 @@ "ES_EXPLAIN_QUERY_PRIVILEGE", "EDIT_ENTITY_PROPERTIES" ], - "displayName":"Asset Owners - Metadata Policy", - "description":"Asset Owners have all metadata privileges ONLY for assets they own.", - "state":"ACTIVE", - "type":"METADATA", - "editable":true + "displayName": "Asset Owners - Metadata Policy", + "description": "Asset Owners have all metadata privileges ONLY for assets they own.", + "state": "ACTIVE", + "type": "METADATA", + "editable": true } } -] +] \ No newline at end of file diff --git a/metadata-service/war/src/main/resources/boot/retention.yaml b/metadata-service/war/src/main/resources/boot/retention.yaml index 630d2ce7ad0e67..639d1aa6bfc47e 100644 --- a/metadata-service/war/src/main/resources/boot/retention.yaml +++ b/metadata-service/war/src/main/resources/boot/retention.yaml @@ -3,7 +3,7 @@ config: retention: version: - maxVersions: 5 + maxVersions: 1 - entity: "*" aspect: "*" config: @@ -17,4 +17,4 @@ # version: # maxVersions: 10 # time: -# maxAgeInSeconds: 2592000 # 30 days \ No newline at end of file +# maxAgeInSeconds: 2592000 # 30 days diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java b/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java index c20b287a47141d..a282c6be673d0e 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/authorization/PoliciesConfig.java @@ -163,6 +163,10 @@ public class PoliciesConfig { "Manage Documentation Forms", "Manage forms assigned to assets to assist in documentation efforts."); + public static final Privilege MANAGE_FEATURES_PRIVILEGE = + Privilege.of( + "MANAGE_FEATURES", "Manage Features", "Umbrella privilege to manage all features."); + public static final List PLATFORM_PRIVILEGES = ImmutableList.of( MANAGE_POLICIES_PRIVILEGE, @@ -189,7 +193,8 @@ public class PoliciesConfig { MANAGE_BUSINESS_ATTRIBUTE_PRIVILEGE, MANAGE_CONNECTIONS_PRIVILEGE, MANAGE_STRUCTURED_PROPERTIES_PRIVILEGE, - MANAGE_DOCUMENTATION_FORMS_PRIVILEGE); + MANAGE_DOCUMENTATION_FORMS_PRIVILEGE, + MANAGE_FEATURES_PRIVILEGE); // Resource Privileges // diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/utils/SchemaFieldUtils.java b/metadata-utils/src/main/java/com/linkedin/metadata/utils/SchemaFieldUtils.java index edf959d04a37b3..4515008b050a1b 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/utils/SchemaFieldUtils.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/utils/SchemaFieldUtils.java @@ -1,22 +1,124 @@ package com.linkedin.metadata.utils; +import static com.linkedin.metadata.Constants.SCHEMA_FIELD_ENTITY_NAME; +import static org.apache.commons.codec.digest.DigestUtils.sha256Hex; + +import com.google.common.annotations.VisibleForTesting; import com.linkedin.common.urn.Urn; import com.linkedin.common.urn.UrnUtils; -import com.linkedin.metadata.Constants; -import com.linkedin.metadata.key.SchemaFieldKey; +import com.linkedin.schema.SchemaField; +import com.linkedin.schema.SchemaMetadata; +import com.linkedin.util.Pair; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.Nonnull; public class SchemaFieldUtils { + private static final String FIELD_PATH_V2 = "[version=2.0]"; private SchemaFieldUtils() {} + /** + * Generate schemaFieldUrn from the parent dataset urn from schemaMetadata field + * + * @param parentUrn the dataset's urn + * @param field field from schemaMetadata + * @return schemaField URN + */ + public static Urn generateSchemaFieldUrn(Urn parentUrn, SchemaField field) { + return generateSchemaFieldUrn(parentUrn, field.getFieldPath()); + } + + public static String generateDocumentId(Urn schemaFieldUrn) { + if (!SCHEMA_FIELD_ENTITY_NAME.equals(schemaFieldUrn.getEntityType())) { + throw new IllegalArgumentException( + String.format( + "Invalid URN, expected entity %s, found %s", + SCHEMA_FIELD_ENTITY_NAME, schemaFieldUrn.getEntityType())); + } + + return String.format( + "urn:li:%s:(%s,%s)", + SCHEMA_FIELD_ENTITY_NAME, + sha256Hex(schemaFieldUrn.getEntityKey().get(0)), + sha256Hex(schemaFieldUrn.getEntityKey().get(1))); + } + + /** + * Handles our url encoding for URN characters. + * + * @param parentUrn the dataset's urn + * @param fieldPath field path + * @return schemaField URN + */ public static Urn generateSchemaFieldUrn( - @Nonnull final String resourceUrn, @Nonnull final String fieldPath) { + @Nonnull final Urn parentUrn, @Nonnull final String fieldPath) { // we rely on schemaField fieldPaths to be encoded since we do that on the ingestion side final String encodedFieldPath = fieldPath.replaceAll("\\(", "%28").replaceAll("\\)", "%29").replaceAll(",", "%2C"); - final SchemaFieldKey key = - new SchemaFieldKey().setParent(UrnUtils.getUrn(resourceUrn)).setFieldPath(encodedFieldPath); - return EntityKeyUtils.convertEntityKeyToUrn(key, Constants.SCHEMA_FIELD_ENTITY_NAME); + return Urn.createFromTuple(SCHEMA_FIELD_ENTITY_NAME, parentUrn.toString(), encodedFieldPath); + } + + /** + * Produce schemaField URN aliases v1/v2 variants given a schemeField target URN (either v1/v2), + * the parent dataset URN and the parent dataset's schemaMetadata aspect. + * + * @param datasetUrn parent dataset's urn + * @param schemaMetadata parent dataset's schemaMetadata + * @param schemaField target schemeField + * @return all aliases of the given schemaField URN including itself (if it exists within the + * schemaMetadata) + */ + public static Set getSchemaFieldAliases( + @Nonnull Urn datasetUrn, + @Nonnull SchemaMetadata schemaMetadata, + @Nonnull SchemaField schemaField) { + + Urn downgradedUrn = + downgradeSchemaFieldUrn( + generateSchemaFieldUrn(datasetUrn, downgradeFieldPath(schemaField.getFieldPath()))); + + // Find all collisions after v2 -> v1 conversion + HashSet aliases = + schemaMetadata.getFields().stream() + .map( + field -> + Pair.of( + generateSchemaFieldUrn( + datasetUrn, downgradeFieldPath(field.getFieldPath())), + generateSchemaFieldUrn(datasetUrn, field.getFieldPath()))) + .filter(pair -> pair.getFirst().equals(downgradedUrn)) + .map(Pair::getSecond) + .collect(Collectors.toCollection(HashSet::new)); + + if (!aliases.isEmpty()) { + // if v2 -> v1 + aliases.add(downgradedUrn); + } + + return aliases; + } + + @VisibleForTesting + @Nonnull + static Urn downgradeSchemaFieldUrn(@Nonnull Urn schemaFieldUrn) { + return generateSchemaFieldUrn( + UrnUtils.getUrn(schemaFieldUrn.getId()), + downgradeFieldPath(schemaFieldUrn.getEntityKey().get(1))); + } + + // https://datahubproject.io/docs/advanced/field-path-spec-v2/#backward-compatibility + @Nonnull + private static String downgradeFieldPath(@Nonnull String fieldPath) { + if (fieldPath.startsWith(FIELD_PATH_V2)) { + return Arrays.stream(fieldPath.substring(FIELD_PATH_V2.length()).split("[.]")) + .filter( + component -> + !component.isEmpty() && !(component.startsWith("[") && component.endsWith("]"))) + .collect(Collectors.joining(".")); + } + return fieldPath; } } diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/utils/SearchUtil.java b/metadata-utils/src/main/java/com/linkedin/metadata/utils/SearchUtil.java index c3c9cac6280ed2..aa18124c826dac 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/utils/SearchUtil.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/utils/SearchUtil.java @@ -54,10 +54,10 @@ public static List convertToFilters( public static FilterValue createFilterValue(String value, Long facetCount, Boolean isFilteredOn) { // TODO(indy): test this - String[] aggregationTokens = value.split(AGGREGATION_SEPARATOR_CHAR); + String[] aggregations = value.split(AGGREGATION_SEPARATOR_CHAR); FilterValue result = new FilterValue().setValue(value).setFacetCount(facetCount).setFiltered(isFilteredOn); - String lastValue = aggregationTokens[aggregationTokens.length - 1]; + String lastValue = aggregations[aggregations.length - 1]; if (lastValue.startsWith(URN_PREFIX)) { try { result.setEntity(Urn.createFromString(lastValue)); diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/utils/SystemMetadataUtils.java b/metadata-utils/src/main/java/com/linkedin/metadata/utils/SystemMetadataUtils.java index 81bfcaab74ddb8..4cc09f83e5f740 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/utils/SystemMetadataUtils.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/utils/SystemMetadataUtils.java @@ -1,6 +1,8 @@ package com.linkedin.metadata.utils; -import com.linkedin.metadata.Constants; +import static com.linkedin.metadata.Constants.DEFAULT_RUN_ID; + +import com.linkedin.data.template.SetMode; import com.linkedin.mxe.SystemMetadata; import javax.annotation.Nullable; import lombok.extern.slf4j.Slf4j; @@ -11,13 +13,25 @@ public class SystemMetadataUtils { private SystemMetadataUtils() {} public static SystemMetadata createDefaultSystemMetadata() { - return new SystemMetadata() - .setRunId(Constants.DEFAULT_RUN_ID) - .setLastObserved(System.currentTimeMillis()); + return generateSystemMetadataIfEmpty(null); + } + + public static SystemMetadata createDefaultSystemMetadata(@Nullable String runId) { + return generateSystemMetadataIfEmpty( + new SystemMetadata() + .setRunId(runId, SetMode.REMOVE_IF_NULL) + .setLastObserved(System.currentTimeMillis())); } public static SystemMetadata generateSystemMetadataIfEmpty( @Nullable SystemMetadata systemMetadata) { - return systemMetadata == null ? createDefaultSystemMetadata() : systemMetadata; + SystemMetadata result = systemMetadata == null ? new SystemMetadata() : systemMetadata; + if (result.getRunId() == null) { + result.setRunId(DEFAULT_RUN_ID); + } + if (!result.hasLastObserved() || result.getLastObserved() == 0) { + result.setLastObserved(System.currentTimeMillis()); + } + return result; } } diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConvention.java b/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConvention.java index 4a3f78fcef7bd6..b4c95ce106de5f 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConvention.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConvention.java @@ -1,5 +1,6 @@ package com.linkedin.metadata.utils.elasticsearch; +import com.linkedin.common.urn.Urn; import com.linkedin.data.template.RecordTemplate; import com.linkedin.metadata.models.EntitySpec; import com.linkedin.util.Pair; @@ -47,4 +48,16 @@ public interface IndexConvention { * if one cannot be extracted */ Optional> getEntityAndAspectName(String timeseriesAspectIndexName); + + @Nonnull + String getIdHashAlgo(); + + /** + * Given the URN generate the document id for entity indices + * + * @param entityUrn the entity which the document belongs + * @return document id + */ + @Nonnull + String getEntityDocumentId(Urn entityUrn); } diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImpl.java b/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImpl.java index 47801cd2054fa4..5855715fb7ebab 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImpl.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImpl.java @@ -1,32 +1,48 @@ package com.linkedin.metadata.utils.elasticsearch; +import static com.linkedin.metadata.Constants.SCHEMA_FIELD_ENTITY_NAME; + +import com.linkedin.common.urn.Urn; import com.linkedin.data.template.RecordTemplate; import com.linkedin.metadata.models.EntitySpec; +import com.linkedin.metadata.utils.SchemaFieldUtils; import com.linkedin.util.Pair; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import lombok.Builder; +import lombok.Getter; +import lombok.Value; import org.apache.commons.lang3.StringUtils; // Default implementation of search index naming convention public class IndexConventionImpl implements IndexConvention { - public static final IndexConvention NO_PREFIX = new IndexConventionImpl(null); + public static IndexConvention noPrefix(@Nonnull String idHashAlgo) { + return new IndexConventionImpl(IndexConventionConfig.builder().hashIdAlgo(idHashAlgo).build()); + } // Map from Entity name -> Index name private final Map indexNameMapping = new ConcurrentHashMap<>(); private final Optional _prefix; private final String _getAllEntityIndicesPattern; private final String _getAllTimeseriesIndicesPattern; + @Getter private final IndexConventionConfig indexConventionConfig; private static final String ENTITY_INDEX_VERSION = "v2"; private static final String ENTITY_INDEX_SUFFIX = "index"; private static final String TIMESERIES_INDEX_VERSION = "v1"; private static final String TIMESERIES_ENTITY_INDEX_SUFFIX = "aspect"; - public IndexConventionImpl(@Nullable String prefix) { - _prefix = StringUtils.isEmpty(prefix) ? Optional.empty() : Optional.of(prefix); + public IndexConventionImpl(IndexConventionConfig indexConventionConfig) { + this.indexConventionConfig = indexConventionConfig; + _prefix = + StringUtils.isEmpty(indexConventionConfig.getPrefix()) + ? Optional.empty() + : Optional.of(indexConventionConfig.getPrefix()); _getAllEntityIndicesPattern = _prefix.map(p -> p + "_").orElse("") + "*" @@ -41,6 +57,12 @@ public IndexConventionImpl(@Nullable String prefix) { + TIMESERIES_INDEX_VERSION; } + @Nonnull + @Override + public String getIdHashAlgo() { + return indexConventionConfig.getHashIdAlgo(); + } + private String createIndexName(String baseName) { return (_prefix.map(prefix -> prefix + "_").orElse("") + baseName).toLowerCase(); } @@ -131,4 +153,27 @@ public Optional> getEntityAndAspectName(String timeseriesAs } return Optional.empty(); } + + @Nonnull + @Override + public String getEntityDocumentId(Urn entityUrn) { + final String unencodedId; + if (indexConventionConfig.schemaFieldDocIdHashEnabled + && SCHEMA_FIELD_ENTITY_NAME.equals(entityUrn.getEntityType())) { + unencodedId = SchemaFieldUtils.generateDocumentId(entityUrn); + } else { + unencodedId = entityUrn.toString(); + } + + return URLEncoder.encode(unencodedId, StandardCharsets.UTF_8); + } + + /** Since this is used outside of Spring */ + @Value + @Builder + public static class IndexConventionConfig { + @Builder.Default String hashIdAlgo = "MD5"; + @Builder.Default @Nullable String prefix = null; + @Builder.Default boolean schemaFieldDocIdHashEnabled = false; + } } diff --git a/metadata-utils/src/test/java/com/linkedin/metadata/utils/SchemaFieldUtilsTest.java b/metadata-utils/src/test/java/com/linkedin/metadata/utils/SchemaFieldUtilsTest.java new file mode 100644 index 00000000000000..53f24f1d99b959 --- /dev/null +++ b/metadata-utils/src/test/java/com/linkedin/metadata/utils/SchemaFieldUtilsTest.java @@ -0,0 +1,133 @@ +package com.linkedin.metadata.utils; + +import static org.testng.Assert.assertEquals; + +import com.linkedin.common.urn.Urn; +import com.linkedin.common.urn.UrnUtils; +import com.linkedin.schema.SchemaField; +import com.linkedin.schema.SchemaFieldArray; +import com.linkedin.schema.SchemaMetadata; +import java.util.List; +import java.util.Set; +import org.testng.annotations.Test; + +/** Tests the capabilities of {@link EntityKeyUtils} */ +public class SchemaFieldUtilsTest { + private static final Urn TEST_DATASET_URN = + UrnUtils.getUrn( + "urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD)"); + + @Test + public void testGenerateSchemaFieldURN() { + assertEquals( + SchemaFieldUtils.generateSchemaFieldUrn(TEST_DATASET_URN, "customer_id"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),customer_id)")); + + assertEquals( + SchemaFieldUtils.generateSchemaFieldUrn( + TEST_DATASET_URN, + "[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a.[type=long].f"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a.[type=long].f)")); + } + + @Test + public void testDowngradeSchemaFieldUrn() { + assertEquals( + SchemaFieldUtils.downgradeSchemaFieldUrn( + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),customer_id)")), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),customer_id)"), + "Expected no change to v1 field path schemaField URN"); + + assertEquals( + SchemaFieldUtils.downgradeSchemaFieldUrn( + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a.[type=long].f)")), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),a.f)"), + "Expected downgrade to v1 field path schemaField URN"); + } + + @Test + public void testSchemaFieldAliases() { + SchemaMetadata testSchema = new SchemaMetadata(); + testSchema.setFields( + new SchemaFieldArray( + List.of( + new SchemaField().setFieldPath("customer_id"), + new SchemaField().setFieldPath("[version=2.0].[type=ABFooUnion].[type=union].a"), + new SchemaField() + .setFieldPath("[version=2.0].[type=ABFooUnion].[type=union].[type=A].a"), + new SchemaField() + .setFieldPath( + "[version=2.0].[type=ABFooUnion].[type=union].[type=A].a.[type=string].f"), + new SchemaField() + .setFieldPath("[version=2.0].[type=ABFooUnion].[type=union].[type=B].a"), + new SchemaField() + .setFieldPath( + "[version=2.0].[type=ABFooUnion].[type=union].[type=B].a.[type=string].f"), + new SchemaField() + .setFieldPath( + "[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a"), + new SchemaField() + .setFieldPath( + "[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a.[type=long].f")))); + + assertEquals( + SchemaFieldUtils.getSchemaFieldAliases( + TEST_DATASET_URN, testSchema, new SchemaField().setFieldPath("customer_id")), + Set.of( + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),customer_id)")), + "Expected only the target v1 schemaField and no aliases"); + + assertEquals( + SchemaFieldUtils.getSchemaFieldAliases( + TEST_DATASET_URN, + testSchema, + new SchemaField().setFieldPath("[version=2.0].[type=ABFooUnion].[type=union].a")), + Set.of( + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].a)"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),a)"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=A].a)"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=B].a)"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a)")), + "Expected one v1 alias and 3 collisions. Excluding target"); + + assertEquals( + SchemaFieldUtils.getSchemaFieldAliases( + TEST_DATASET_URN, + testSchema, + new SchemaField() + .setFieldPath( + "[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a.[type=long].f")), + Set.of( + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a.[type=long].f)"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),a.f)"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=A].a.[type=string].f)"), + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:bigquery,cypress_project.jaffle_shop.customers,PROD),[version=2.0].[type=ABFooUnion].[type=union].[type=B].a.[type=string].f)")), + "Expected one v1 alias and 2 collisions. Excluding target"); + + assertEquals( + SchemaFieldUtils.getSchemaFieldAliases( + TEST_DATASET_URN, + testSchema, + new SchemaField() + .setFieldPath( + "[version=2.0].[type=ABFooUnion].[type=union].[type=array].[type=array].[type=Foo].a.[type=long].z")), + Set.of(), + "Expected no aliases since target field is not present."); + } +} diff --git a/metadata-utils/src/test/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImplTest.java b/metadata-utils/src/test/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImplTest.java index 8074f344cd2441..8768c44c70a82d 100644 --- a/metadata-utils/src/test/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImplTest.java +++ b/metadata-utils/src/test/java/com/linkedin/metadata/utils/elasticsearch/IndexConventionImplTest.java @@ -1,8 +1,11 @@ package com.linkedin.metadata.utils.elasticsearch; +import static org.apache.commons.codec.digest.DigestUtils.sha256Hex; import static org.testng.Assert.*; +import com.linkedin.common.urn.UrnUtils; import com.linkedin.util.Pair; +import java.net.URLEncoder; import java.util.Optional; import org.testng.annotations.Test; @@ -10,7 +13,7 @@ public class IndexConventionImplTest { @Test public void testIndexConventionNoPrefix() { - IndexConvention indexConventionNoPrefix = IndexConventionImpl.NO_PREFIX; + IndexConvention indexConventionNoPrefix = IndexConventionImpl.noPrefix("MD5"); String entityName = "dataset"; String expectedIndexName = "datasetindex_v2"; assertEquals(indexConventionNoPrefix.getEntityIndexName(entityName), expectedIndexName); @@ -25,7 +28,12 @@ public void testIndexConventionNoPrefix() { @Test public void testIndexConventionPrefix() { - IndexConvention indexConventionPrefix = new IndexConventionImpl("prefix"); + IndexConvention indexConventionPrefix = + new IndexConventionImpl( + IndexConventionImpl.IndexConventionConfig.builder() + .prefix("prefix") + .hashIdAlgo("MD5") + .build()); String entityName = "dataset"; String expectedIndexName = "prefix_datasetindex_v2"; assertEquals(indexConventionPrefix.getEntityIndexName(entityName), expectedIndexName); @@ -42,7 +50,7 @@ public void testIndexConventionPrefix() { @Test public void testTimeseriesIndexConventionNoPrefix() { - IndexConvention indexConventionNoPrefix = IndexConventionImpl.NO_PREFIX; + IndexConvention indexConventionNoPrefix = IndexConventionImpl.noPrefix("MD5"); String entityName = "dataset"; String aspectName = "datasetusagestatistics"; String expectedIndexName = "dataset_datasetusagestatisticsaspect_v1"; @@ -64,7 +72,12 @@ public void testTimeseriesIndexConventionNoPrefix() { @Test public void testTimeseriesIndexConventionPrefix() { - IndexConvention indexConventionPrefix = new IndexConventionImpl("prefix"); + IndexConvention indexConventionPrefix = + new IndexConventionImpl( + IndexConventionImpl.IndexConventionConfig.builder() + .prefix("prefix") + .hashIdAlgo("MD5") + .build()); String entityName = "dataset"; String aspectName = "datasetusagestatistics"; String expectedIndexName = "prefix_dataset_datasetusagestatisticsaspect_v1"; @@ -81,4 +94,24 @@ public void testTimeseriesIndexConventionPrefix() { indexConventionPrefix.getEntityAndAspectName("prefix_datasetusagestatisticsaspect_v1"), Optional.empty()); } + + @Test + public void testSchemaFieldDocumentId() { + assertEquals( + new IndexConventionImpl( + IndexConventionImpl.IndexConventionConfig.builder() + .prefix("") + .hashIdAlgo("") + .schemaFieldDocIdHashEnabled(true) + .build()) + .getEntityDocumentId( + UrnUtils.getUrn( + "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:snowflake,economic_data.factor_income,PROD),year)")), + URLEncoder.encode( + String.format( + "urn:li:schemaField:(%s,%s)", + sha256Hex( + "urn:li:dataset:(urn:li:dataPlatform:snowflake,economic_data.factor_income,PROD)"), + sha256Hex("year")))); + } } diff --git a/settings.gradle b/settings.gradle index b850816ab5e6b7..fa1fdb9f1a67ce 100644 --- a/settings.gradle +++ b/settings.gradle @@ -61,7 +61,9 @@ include 'metadata-integration:java:openlineage-converter' include 'metadata-integration:java:acryl-spark-lineage' include 'ingestion-scheduler' include 'metadata-ingestion-modules:airflow-plugin' +include 'metadata-ingestion-modules:gx-plugin' include 'metadata-ingestion-modules:dagster-plugin' +include 'metadata-ingestion-modules:prefect-plugin' include 'smoke-test' include 'metadata-auth:auth-api' include 'metadata-service:schema-registry-api' diff --git a/smoke-test/build.gradle b/smoke-test/build.gradle index 9800cf65fc4529..eb9ab7dec8f6cc 100644 --- a/smoke-test/build.gradle +++ b/smoke-test/build.gradle @@ -44,12 +44,19 @@ task yarnInstall(type: YarnTask) { environment = ['NODE_OPTIONS': '--openssl-legacy-provider'] args = ['install', '--cwd', "${project.rootDir}/smoke-test/tests/cypress"] } + task cypressLint(type: YarnTask, dependsOn: yarnInstall) { environment = ['NODE_OPTIONS': '--openssl-legacy-provider'] // TODO: Run a full lint instead of just format. args = ['--cwd', "${project.rootDir}/smoke-test/tests/cypress", 'run', 'format'] } +task cypressLintFix(type: YarnTask, dependsOn: yarnInstall) { + environment = ['NODE_OPTIONS': '--openssl-legacy-provider'] + // TODO: Run a full lint instead of just format. + args = ['--cwd', "${project.rootDir}/smoke-test/tests/cypress", 'run', 'format', '--write'] +} + task installDev(type: Exec) { inputs.file file('pyproject.toml') inputs.file file('requirements.txt') @@ -57,7 +64,7 @@ task installDev(type: Exec) { commandLine 'bash', '-c', "set -x && " + "${python_executable} -m venv ${venv_name} && " + - "${venv_name}/bin/python -m pip install --upgrade pip uv wheel setuptools && " + + "${venv_name}/bin/python -m pip install --upgrade uv && " + "set +x && source ${venv_name}/bin/activate && set -x && " + "uv pip install -r requirements.txt && " + "touch ${venv_name}/.build_install_dev_sentinel" @@ -86,8 +93,6 @@ task pythonLintFix(type: Exec, dependsOn: installDev) { */ task noCypressSuite0(type: Exec, dependsOn: [installDev, ':metadata-ingestion:installDev']) { environment 'RUN_QUICKSTART', 'false' - environment 'DATAHUB_KAFKA_SCHEMA_REGISTRY_URL', 'http://localhost:8080/schema-registry/api/' - environment 'KAFKA_BROKER_CONTAINER', 'datahub-kafka-broker-1' environment 'TEST_STRATEGY', 'no_cypress_suite0' workingDir = project.projectDir @@ -98,8 +103,6 @@ task noCypressSuite0(type: Exec, dependsOn: [installDev, ':metadata-ingestion:in task noCypressSuite1(type: Exec, dependsOn: [installDev, ':metadata-ingestion:installDev']) { environment 'RUN_QUICKSTART', 'false' - environment 'DATAHUB_KAFKA_SCHEMA_REGISTRY_URL', 'http://localhost:8080/schema-registry/api/' - environment 'KAFKA_BROKER_CONTAINER', 'datahub-kafka-broker-1' environment 'TEST_STRATEGY', 'no_cypress_suite1' workingDir = project.projectDir @@ -110,8 +113,6 @@ task noCypressSuite1(type: Exec, dependsOn: [installDev, ':metadata-ingestion:in task cypressSuite1(type: Exec, dependsOn: [installDev, ':metadata-ingestion:installDev']) { environment 'RUN_QUICKSTART', 'false' - environment 'DATAHUB_KAFKA_SCHEMA_REGISTRY_URL', 'http://localhost:8080/schema-registry/api/' - environment 'KAFKA_BROKER_CONTAINER', 'datahub-kafka-broker-1' environment 'TEST_STRATEGY', 'cypress_suite1' workingDir = project.projectDir @@ -122,8 +123,6 @@ task cypressSuite1(type: Exec, dependsOn: [installDev, ':metadata-ingestion:inst task cypressRest(type: Exec, dependsOn: [installDev, ':metadata-ingestion:installDev']) { environment 'RUN_QUICKSTART', 'false' - environment 'DATAHUB_KAFKA_SCHEMA_REGISTRY_URL', 'http://localhost:8080/schema-registry/api/' - environment 'KAFKA_BROKER_CONTAINER', 'datahub-kafka-broker-1' environment 'TEST_STRATEGY', 'cypress_rest' workingDir = project.projectDir @@ -137,8 +136,6 @@ task cypressRest(type: Exec, dependsOn: [installDev, ':metadata-ingestion:instal */ task cypressDev(type: Exec, dependsOn: [installDev, ':metadata-ingestion:installDev']) { environment 'RUN_QUICKSTART', 'false' - environment 'DATAHUB_KAFKA_SCHEMA_REGISTRY_URL', 'http://localhost:8080/schema-registry/api/' - environment 'KAFKA_BROKER_CONTAINER', 'datahub-kafka-broker-1' workingDir = project.projectDir commandLine 'bash', '-c', @@ -151,12 +148,18 @@ task cypressDev(type: Exec, dependsOn: [installDev, ':metadata-ingestion:install */ task cypressData(type: Exec, dependsOn: [installDev, ':metadata-ingestion:installDev']) { environment 'RUN_QUICKSTART', 'false' - environment 'DATAHUB_KAFKA_SCHEMA_REGISTRY_URL', 'http://localhost:8080/schema-registry/api/' - environment 'KAFKA_BROKER_CONTAINER', 'datahub-kafka-broker-1' environment 'RUN_UI', 'false' workingDir = project.projectDir commandLine 'bash', '-c', "source ${venv_name}/bin/activate && set -x && " + "./cypress-dev.sh" -} \ No newline at end of file +} + +task lint { + dependsOn pythonLint, cypressLint +} + +task lintFix { + dependsOn pythonLintFix +} diff --git a/smoke-test/cypress-dev.sh b/smoke-test/cypress-dev.sh index 2b31c574d05787..bce2d794b18691 100755 --- a/smoke-test/cypress-dev.sh +++ b/smoke-test/cypress-dev.sh @@ -10,8 +10,9 @@ fi source venv/bin/activate -export KAFKA_BROKER_CONTAINER="datahub-kafka-broker-1" -export KAFKA_BOOTSTRAP_SERVER="broker:9092" +# set environment variables for the test +source ./set-test-env-vars.sh + python -c 'from tests.cypress.integration_test import ingest_data; ingest_data()' cd tests/cypress diff --git a/smoke-test/requirements.txt b/smoke-test/requirements.txt index 861c69f354fe5b..c5294d95177cb9 100644 --- a/smoke-test/requirements.txt +++ b/smoke-test/requirements.txt @@ -18,3 +18,5 @@ types-requests>=2.28.11.6,<=2.31.0.3 types-PyYAML # https://github.com/docker/docker-py/issues/3256 requests<=2.31.0 +# Missing numpy requirement in 8.0.0 +deepdiff!=8.0.0 \ No newline at end of file diff --git a/smoke-test/run-quickstart.sh b/smoke-test/run-quickstart.sh index 05c321566d54a6..eb0d46b3172442 100755 --- a/smoke-test/run-quickstart.sh +++ b/smoke-test/run-quickstart.sh @@ -10,16 +10,17 @@ source venv/bin/activate mkdir -p ~/.datahub/plugins/frontend/auth/ echo "test_user:test_pass" >> ~/.datahub/plugins/frontend/auth/user.props +echo "DATAHUB_VERSION = $DATAHUB_VERSION" DATAHUB_SEARCH_IMAGE="${DATAHUB_SEARCH_IMAGE:=opensearchproject/opensearch}" DATAHUB_SEARCH_TAG="${DATAHUB_SEARCH_TAG:=2.9.0}" XPACK_SECURITY_ENABLED="${XPACK_SECURITY_ENABLED:=plugins.security.disabled=true}" ELASTICSEARCH_USE_SSL="${ELASTICSEARCH_USE_SSL:=false}" USE_AWS_ELASTICSEARCH="${USE_AWS_ELASTICSEARCH:=true}" -echo "DATAHUB_VERSION = $DATAHUB_VERSION" DATAHUB_TELEMETRY_ENABLED=false \ DOCKER_COMPOSE_BASE="file://$( dirname "$DIR" )" \ DATAHUB_SEARCH_IMAGE="$DATAHUB_SEARCH_IMAGE" DATAHUB_SEARCH_TAG="$DATAHUB_SEARCH_TAG" \ XPACK_SECURITY_ENABLED="$XPACK_SECURITY_ENABLED" ELASTICSEARCH_USE_SSL="$ELASTICSEARCH_USE_SSL" \ USE_AWS_ELASTICSEARCH="$USE_AWS_ELASTICSEARCH" \ -datahub docker quickstart --version ${DATAHUB_VERSION} --standalone_consumers --dump-logs-on-failure --kafka-setup +DATAHUB_VERSION=${DATAHUB_VERSION} \ +docker compose --project-directory ../docker/profiles --profile quickstart-consumers up -d --quiet-pull --wait --wait-timeout 900 diff --git a/smoke-test/set-cypress-creds.sh b/smoke-test/set-cypress-creds.sh index 82fe736b0a7e18..fc6e7dd42f5dea 100644 --- a/smoke-test/set-cypress-creds.sh +++ b/smoke-test/set-cypress-creds.sh @@ -2,4 +2,4 @@ export CYPRESS_ADMIN_USERNAME=${ADMIN_USERNAME:-datahub} export CYPRESS_ADMIN_PASSWORD=${ADMIN_PASSWORD:-datahub} -export CYPRESS_ADMIN_DISPLAYNAME=${ADMIN_DISPLAYNAME:-DataHub} \ No newline at end of file +export CYPRESS_ADMIN_DISPLAYNAME=${ADMIN_DISPLAYNAME:-DataHub} diff --git a/smoke-test/set-test-env-vars.sh b/smoke-test/set-test-env-vars.sh new file mode 100644 index 00000000000000..4668721f80de08 --- /dev/null +++ b/smoke-test/set-test-env-vars.sh @@ -0,0 +1,2 @@ +export DATAHUB_KAFKA_SCHEMA_REGISTRY_URL=http://localhost:8080/schema-registry/api +export DATAHUB_GMS_URL=http://localhost:8080 \ No newline at end of file diff --git a/smoke-test/smoke.sh b/smoke-test/smoke.sh index db0389be1f4897..888a60f488e1fc 100755 --- a/smoke-test/smoke.sh +++ b/smoke-test/smoke.sh @@ -16,14 +16,24 @@ cd "$DIR" if [ "${RUN_QUICKSTART:-true}" == "true" ]; then source ./run-quickstart.sh +else + mkdir -p ~/.datahub/plugins/frontend/auth/ + echo "test_user:test_pass" >> ~/.datahub/plugins/frontend/auth/user.props + echo "datahub:datahub" > ~/.datahub/plugins/frontend/auth/user.props + + python3 -m venv venv + source venv/bin/activate + python -m pip install --upgrade 'uv>=0.1.10' + uv pip install -r requirements.txt fi -source venv/bin/activate - (cd ..; ./gradlew :smoke-test:yarnInstall) source ./set-cypress-creds.sh +# set environment variables for the test +source ./set-test-env-vars.sh + # no_cypress_suite0, no_cypress_suite1, cypress_suite1, cypress_rest if [[ -z "${TEST_STRATEGY}" ]]; then pytest -rP --durations=20 -vv --continue-on-collection-errors --junit-xml=junit.smoke.xml diff --git a/smoke-test/test_e2e.py b/smoke-test/test_e2e.py index abb4841314c4af..74d64a8193173a 100644 --- a/smoke-test/test_e2e.py +++ b/smoke-test/test_e2e.py @@ -21,6 +21,7 @@ get_frontend_session, get_admin_credentials, get_root_urn, + wait_for_writes_to_sync, ) bootstrap_sample_data = "../metadata-ingestion/examples/mce_files/bootstrap_mce.json" @@ -150,11 +151,13 @@ def _ensure_group_not_present(urn: str, frontend_session) -> Any: def test_ingestion_via_rest(wait_for_healthchecks): ingest_file_via_rest(bootstrap_sample_data) _ensure_user_present(urn=get_root_urn()) + wait_for_writes_to_sync() @pytest.mark.dependency(depends=["test_healthchecks"]) def test_ingestion_usage_via_rest(wait_for_healthchecks): ingest_file_via_rest(usage_sample_data) + wait_for_writes_to_sync() @pytest.mark.dependency(depends=["test_healthchecks"]) @@ -185,6 +188,7 @@ def test_ingestion_via_kafka(wait_for_healthchecks): # Since Kafka emission is asynchronous, we must wait a little bit so that # the changes are actually processed. time.sleep(kafka_post_ingestion_wait_sec) + wait_for_writes_to_sync() @pytest.mark.dependency( @@ -196,6 +200,7 @@ def test_ingestion_via_kafka(wait_for_healthchecks): ) def test_run_ingestion(wait_for_healthchecks): # Dummy test so that future ones can just depend on this one. + wait_for_writes_to_sync() pass @@ -1384,7 +1389,9 @@ def test_native_user_endpoints(frontend_session): unauthenticated_get_invite_token_response = unauthenticated_session.post( f"{get_frontend_url()}/api/v2/graphql", json=get_invite_token_json ) - assert unauthenticated_get_invite_token_response.status_code == HTTPStatus.UNAUTHORIZED + assert ( + unauthenticated_get_invite_token_response.status_code == HTTPStatus.UNAUTHORIZED + ) unauthenticated_create_reset_token_json = { "query": """mutation createNativeUserResetToken($input: CreateNativeUserResetTokenInput!) {\n @@ -1399,7 +1406,10 @@ def test_native_user_endpoints(frontend_session): f"{get_frontend_url()}/api/v2/graphql", json=unauthenticated_create_reset_token_json, ) - assert unauthenticated_create_reset_token_response.status_code == HTTPStatus.UNAUTHORIZED + assert ( + unauthenticated_create_reset_token_response.status_code + == HTTPStatus.UNAUTHORIZED + ) # cleanup steps json = { diff --git a/smoke-test/tests/cli/delete_cmd/test_timeseries_delete.py b/smoke-test/tests/cli/delete_cmd/test_timeseries_delete.py index cfbbacea1ed79e..438c063f11fa88 100644 --- a/smoke-test/tests/cli/delete_cmd/test_timeseries_delete.py +++ b/smoke-test/tests/cli/delete_cmd/test_timeseries_delete.py @@ -56,16 +56,20 @@ def datahub_get_and_verify_profile( sync_elastic() get_args: List[str] = ["get", "--urn", test_dataset_urn, "-a", test_aspect_name] get_result: Result = runner.invoke(datahub, get_args) - assert get_result.exit_code == 0 - try: - get_result_output_obj: Dict = json.loads(get_result.stdout) - except JSONDecodeError as e: - print("Failed to decode: " + get_result.stdout, file=sys.stderr) - raise e if expected_profile is None: - assert not get_result_output_obj + assert get_result.exit_code != 0 + assert ( + test_dataset_urn in get_result.stderr and "not found" in get_result.stderr + ), f"Got stderr of {get_result.stderr} in get_and_verify_profile" else: + assert get_result.exit_code == 0 + try: + get_result_output_obj: Dict = json.loads(get_result.stdout) + except JSONDecodeError as e: + print("Failed to decode: " + get_result.stdout, file=sys.stderr) + raise e + profile_from_get = DatasetProfileClass.from_obj( get_result_output_obj["datasetProfile"] ) diff --git a/smoke-test/tests/consistency_utils.py b/smoke-test/tests/consistency_utils.py index 4335e2a874c1e7..1eddc46bb220b7 100644 --- a/smoke-test/tests/consistency_utils.py +++ b/smoke-test/tests/consistency_utils.py @@ -8,14 +8,31 @@ ELASTICSEARCH_REFRESH_INTERVAL_SECONDS: int = int( os.getenv("ELASTICSEARCH_REFRESH_INTERVAL_SECONDS", 5) ) -KAFKA_BROKER_CONTAINER: str = str( - os.getenv("KAFKA_BROKER_CONTAINER", "datahub-broker-1") -) KAFKA_BOOTSTRAP_SERVER: str = str(os.getenv("KAFKA_BOOTSTRAP_SERVER", "broker:29092")) logger = logging.getLogger(__name__) +def infer_kafka_broker_container() -> str: + cmd = "docker ps --format '{{.Names}}' | grep broker" + completed_process = subprocess.run( + cmd, + capture_output=True, + shell=True, + text=True, + ) + result = str(completed_process.stdout) + lines = result.splitlines() + if len(lines) == 0: + raise ValueError("No Kafka broker containers found") + return lines[0] + + +KAFKA_BROKER_CONTAINER: str = str( + os.getenv("KAFKA_BROKER_CONTAINER", infer_kafka_broker_container()) +) + + def wait_for_writes_to_sync(max_timeout_in_sec: int = 120) -> None: if USE_STATIC_SLEEP: time.sleep(ELASTICSEARCH_REFRESH_INTERVAL_SECONDS) @@ -44,7 +61,9 @@ def wait_for_writes_to_sync(max_timeout_in_sec: int = 120) -> None: if maximum_lag == 0: lag_zero = True except ValueError: - logger.warning(f"Error reading kafka lag using command: {cmd}") + logger.warning( + f"Error reading kafka lag using command: {cmd}", exc_info=True + ) if not lag_zero: logger.warning( diff --git a/smoke-test/tests/cypress/cypress/e2e/actions/docPropagation.js b/smoke-test/tests/cypress/cypress/e2e/actions/docPropagation.js new file mode 100644 index 00000000000000..3d7e14195ab64f --- /dev/null +++ b/smoke-test/tests/cypress/cypress/e2e/actions/docPropagation.js @@ -0,0 +1,27 @@ +const testId = '[data-testid="docPropagationIndicator"]'; + +describe("docPropagation", () => { + it("logs in and navigates to the schema page and checks for docPropagationIndicator", () => { + cy.login(); + cy.visit( + "/dataset/urn:li:dataset:(urn:li:dataPlatform:hive,fct_cypress_users_deleted,PROD)/Schema?is_lineage_mode=false&schemaFilter=", + "/dataset/urn:li:dataset:(urn:li:dataPlatform:hive,fct_cypress_users_deleted,PROD)/Schema?is_lineage_mode=false&schemaFilter=", + ); + + // verify that the indicator exists in the table + cy.get(testId).should("exist"); + + // click on the table row + cy.get('[data-row-key="user_id"]').click(); + + // verify that the indicator exists in id="entity-profile-sidebar" + cy.get('[id="entity-profile-sidebar"]') + .then(($sidebar) => { + if ($sidebar.find(testId).length) return testId; + return null; + }) + .then((selector) => { + cy.get(selector).should("exist"); + }); + }); +}); diff --git a/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_health.js b/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_health.js index 072574e0f57aad..62ffd8a69d1c84 100644 --- a/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_health.js +++ b/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_health.js @@ -7,8 +7,8 @@ describe("dataset health test", () => { cy.login(); cy.goToDataset(urn, datasetName); // Ensure that the “Health” badge is present and there is an active incident warning - cy.get(`[href="/dataset/${urn}/Validation"]`).should("be.visible"); - cy.get(`[href="/dataset/${urn}/Validation"] span`).trigger("mouseover", { + cy.get(`[href="/dataset/${urn}/Quality"]`).should("be.visible"); + cy.get(`[href="/dataset/${urn}/Quality"] span`).trigger("mouseover", { force: true, }); cy.waitTextVisible("This asset may be unhealthy"); diff --git a/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_ownership.js b/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_ownership.js index 452e2eb3408d31..9c42d8395e543c 100644 --- a/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_ownership.js +++ b/smoke-test/tests/cypress/cypress/e2e/mutations/dataset_ownership.js @@ -1,4 +1,4 @@ -const test_id = Math.floor(Math.random() * 100000); +const test_id = crypto.getRandomValues(new Uint32Array(1))[0]; const username = `Example Name ${test_id}`; const email = `example${test_id}@example.com`; const password = "Example password"; diff --git a/smoke-test/tests/cypress/cypress/e2e/mutations/ingestion_source.js b/smoke-test/tests/cypress/cypress/e2e/mutations/ingestion_source.js index 8707f090acad36..9ed3ccdd26eeef 100644 --- a/smoke-test/tests/cypress/cypress/e2e/mutations/ingestion_source.js +++ b/smoke-test/tests/cypress/cypress/e2e/mutations/ingestion_source.js @@ -1,4 +1,4 @@ -const number = Math.floor(Math.random() * 100000); +const number = crypto.getRandomValues(new Uint32Array(1))[0]; const accound_id = `account${number}`; const warehouse_id = `warehouse${number}`; const username = `user${number}`; @@ -13,7 +13,7 @@ describe("ingestion source creation flow", () => { cy.goToIngestionPage(); cy.clickOptionWithId('[data-node-key="Sources"]'); cy.clickOptionWithTestId("create-ingestion-source-button"); - cy.clickOptionWithText("Snowflake"); + cy.clickOptionWithTextToScrollintoView("Snowflake"); cy.waitTextVisible("Snowflake Details"); cy.get("#account_id").type(accound_id); cy.get("#warehouse").type(warehouse_id); diff --git a/smoke-test/tests/cypress/cypress/e2e/mutations/managing_secrets.js b/smoke-test/tests/cypress/cypress/e2e/mutations/managing_secrets.js index 6953fe04940520..d35ed883f58848 100644 --- a/smoke-test/tests/cypress/cypress/e2e/mutations/managing_secrets.js +++ b/smoke-test/tests/cypress/cypress/e2e/mutations/managing_secrets.js @@ -1,4 +1,4 @@ -const number = Math.floor(Math.random() * 100000); +const number = crypto.getRandomValues(new Uint32Array(1))[0]; const accound_id = `account${number}`; const warehouse_id = `warehouse${number}`; const username = `user${number}`; @@ -11,6 +11,7 @@ describe("managing secrets for ingestion creation", () => { // Navigate to the manage ingestion page → secrets cy.loginWithCredentials(); cy.goToIngestionPage(); + cy.clickOptionWithText("Secrets"); // Create a new secret cy.clickOptionWithTestId("create-secret-button"); @@ -29,7 +30,7 @@ describe("managing secrets for ingestion creation", () => { cy.goToIngestionPage(); cy.clickOptionWithId('[data-node-key="Sources"]'); cy.get("#ingestion-create-source").click(); - cy.clickOptionWithText("Snowflake"); + cy.clickOptionWithTextToScrollintoView("Snowflake"); cy.waitTextVisible("Snowflake Details"); cy.get("#account_id").type(accound_id); cy.get("#warehouse").type(warehouse_id); @@ -68,7 +69,7 @@ describe("managing secrets for ingestion creation", () => { // Verify secret is not present during ingestion source creation for password dropdown cy.clickOptionWithText("Create new source"); - cy.clickOptionWithText("Snowflake"); + cy.clickOptionWithTextToScrollintoView("Snowflake"); cy.waitTextVisible("Snowflake Details"); cy.get("#account_id").type(accound_id); cy.get("#warehouse").type(warehouse_id); diff --git a/smoke-test/tests/cypress/cypress/e2e/settings/managing_groups.js b/smoke-test/tests/cypress/cypress/e2e/settings/managing_groups.js index 247a9c8b9b2739..9a86f7e966e315 100644 --- a/smoke-test/tests/cypress/cypress/e2e/settings/managing_groups.js +++ b/smoke-test/tests/cypress/cypress/e2e/settings/managing_groups.js @@ -1,4 +1,4 @@ -const test_id = Math.floor(Math.random() * 100000); +const test_id = crypto.getRandomValues(new Uint32Array(1))[0]; const username = `Example Name ${test_id}`; const email = `example${test_id}@example.com`; const password = "Example password"; diff --git a/smoke-test/tests/cypress/data.json b/smoke-test/tests/cypress/data.json index 5253b7a33b085f..ce61f7c83a0389 100644 --- a/smoke-test/tests/cypress/data.json +++ b/smoke-test/tests/cypress/data.json @@ -96,7 +96,11 @@ }, "nativeDataType": "varchar(100)", "globalTags": { - "tags": [{ "tag": "urn:li:tag:NeedsDocumentation" }] + "tags": [ + { + "tag": "urn:li:tag:NeedsDocumentation" + } + ] }, "recursive": false }, @@ -137,7 +141,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -246,7 +254,13 @@ "editableSchemaFieldInfo": [ { "fieldPath": "shipment_info", - "globalTags": { "tags": [{ "tag": "urn:li:tag:Legacy" }] }, + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Legacy" + } + ] + }, "glossaryTerms": { "terms": [ { @@ -401,8 +415,12 @@ { "com.linkedin.pegasus2avro.common.GlobalTags": { "tags": [ - { "tag": "urn:li:tag:Cypress" }, - { "tag": "urn:li:tag:Cypress2" } + { + "tag": "urn:li:tag:Cypress" + }, + { + "tag": "urn:li:tag:Cypress2" + } ] } } @@ -542,7 +560,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -718,7 +740,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1011,7 +1037,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1229,7 +1259,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1279,7 +1313,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1332,7 +1370,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1371,7 +1413,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1413,7 +1459,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1459,7 +1509,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1521,7 +1575,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:Cypress" }] + "tags": [ + { + "tag": "urn:li:tag:Cypress" + } + ] } } ] @@ -1758,7 +1816,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:CypressFeatureTag" }] + "tags": [ + { + "tag": "urn:li:tag:CypressFeatureTag" + } + ] } } ] @@ -1785,7 +1847,11 @@ }, { "com.linkedin.pegasus2avro.common.GlobalTags": { - "tags": [{ "tag": "urn:li:tag:CypressPrimaryKeyTag" }] + "tags": [ + { + "tag": "urn:li:tag:CypressPrimaryKeyTag" + } + ] } } ] @@ -2137,5 +2203,17 @@ "contentType": "application/json" }, "systemMetadata": null + }, + { + "auditHeader": null, + "entityType": "schemaField", + "entityUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:hive,fct_cypress_users_deleted,PROD),user_id)", + "changeType": "UPSERT", + "aspectName": "documentation", + "aspect": { + "value": "{\"documentations\":[{\"attribution\":{\"actor\":\"urn:li:corpuser:__datahub_system\",\"source\":\"urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:hive,fct_cypress_users_created,PROD),user_id)\",\"sourceDetail\":{\"actor\":\"urn:li:corpuser:shirshanka@acryl.io\",\"origin\":\"urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:hive,fct_cypress_users_created,PROD),user_id)\",\"propagated\":\"true\"},\"time\":1721422917808},\"documentation\":\"Unique identifier of user profile.\"}]}", + "contentType": "application/json" + }, + "systemMetadata": null } ] diff --git a/smoke-test/tests/openapi/README.md b/smoke-test/tests/openapi/README.md new file mode 100644 index 00000000000000..68e2a75a6509b9 --- /dev/null +++ b/smoke-test/tests/openapi/README.md @@ -0,0 +1,33 @@ + +# Goal + +This test is configuration driven by json files which contain request/response sequences intended to +detect unexpected regressions between releases. + +Files can be executed in parallel but each request within the file is sequential. + +## Adding a test + +Create a file for a given OpenAPI version which contains a list of request/response pairs in the following +format. + +The request json object is translated into the python request arguments and the response object is the +expected status code and optional body. + +```json +[ + { + "request": { + "urn": "", + "description": "", + "method": "", + "json": {} + }, + "response": { + "status_codes": [200], + "exclude_regex_paths": [], + "json": {} + } + } +] +``` \ No newline at end of file diff --git a/smoke-test/tests/openapi/__init__.py b/smoke-test/tests/openapi/__init__.py new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/smoke-test/tests/openapi/test_openapi.py b/smoke-test/tests/openapi/test_openapi.py new file mode 100644 index 00000000000000..20398e0e581685 --- /dev/null +++ b/smoke-test/tests/openapi/test_openapi.py @@ -0,0 +1,113 @@ +import concurrent.futures +import glob +import json +import logging + +import pytest +from deepdiff import DeepDiff + +import requests_wrapper as requests +from tests.utils import get_gms_url + +logger = logging.getLogger(__name__) + + +@pytest.mark.dependency() +def test_healthchecks(wait_for_healthchecks): + # Call to wait_for_healthchecks fixture will do the actual functionality. + pass + + +def load_tests(fixture_glob="tests/openapi/**/*.json"): + for test_fixture in glob.glob(fixture_glob): + with open(test_fixture) as f: + yield (test_fixture, json.load(f)) + + +def execute_request(request): + session = requests.Session() + if "method" in request: + method = request.pop("method") + else: + method = "post" + + url = get_gms_url() + request.pop("url") + + return getattr(session, method)(url, **request) + + +def evaluate_test(test_name, test_data): + try: + for idx, req_resp in enumerate(test_data): + if "description" in req_resp["request"]: + description = req_resp["request"].pop("description") + else: + description = None + url = req_resp["request"]["url"] + actual_resp = execute_request(req_resp["request"]) + try: + if "response" in req_resp and "status_codes" in req_resp["response"]: + assert ( + actual_resp.status_code in req_resp["response"]["status_codes"] + ) + else: + assert actual_resp.status_code in [200, 202, 204] + if "response" in req_resp: + if "json" in req_resp["response"]: + if "exclude_regex_paths" in req_resp["response"]: + exclude_regex_paths = req_resp["response"][ + "exclude_regex_paths" + ] + else: + exclude_regex_paths = [] + diff = DeepDiff( + actual_resp.json(), + req_resp["response"]["json"], + exclude_regex_paths=exclude_regex_paths, + ignore_order=True, + ) + assert not diff + else: + logger.warning("No expected response json found") + except Exception as e: + logger.error( + f"Error executing step: {idx}, url: {url}, test: {test_name}" + ) + if description: + logger.error(f"Step {idx} Description: {description}") + logger.error(f"Response content: {actual_resp.content}") + raise e + except Exception as e: + logger.error(f"Error executing test: {test_name}") + raise e + + +def run_tests(fixture_globs, num_workers=3): + with concurrent.futures.ThreadPoolExecutor(max_workers=num_workers) as executor: + futures = [] + for fixture_glob in fixture_globs: + for test_fixture, test_data in load_tests(fixture_glob=fixture_glob): + futures.append(executor.submit(evaluate_test, test_fixture, test_data)) + + for future in concurrent.futures.as_completed(futures): + logger.info(future.result()) + + +@pytest.mark.dependency(depends=["test_healthchecks"]) +def test_openapi_all(): + run_tests(fixture_globs=["tests/openapi/*/*.json"], num_workers=10) + + +# @pytest.mark.dependency(depends=["test_healthchecks"]) +# def test_openapi_v1(): +# run_tests(fixture_glob="tests/openapi/v1/*.json", num_workers=4) +# +# +# @pytest.mark.dependency(depends=["test_healthchecks"]) +# def test_openapi_v2(): +# run_tests(fixture_glob="tests/openapi/v2/*.json", num_workers=4) +# +# +# @pytest.mark.dependency(depends=["test_healthchecks"]) +# def test_openapi_v3(): +# run_tests(fixture_glob="tests/openapi/v3/*.json", num_workers=4) diff --git a/smoke-test/tests/openapi/v1/__init__.py b/smoke-test/tests/openapi/v1/__init__.py new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/smoke-test/tests/openapi/v1/timeline.json b/smoke-test/tests/openapi/v1/timeline.json new file mode 100644 index 00000000000000..36459d1b9e8243 --- /dev/null +++ b/smoke-test/tests/openapi/v1/timeline.json @@ -0,0 +1,526 @@ +[ + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV1%2CPROD%29", + "description": "Remove test dataset", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV1%2CPROD%29/schemaMetadata?createIfNotExists=false", + "description": "Schema version 1", + "json": { + "schemaName": "db1.nested_struct_test", + "platform": "urn:li:dataPlatform:hive", + "version": 0, + "created": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "lastModified": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "hash": "", + "platformSchema": { + "com.linkedin.schema.MySqlDDL": { + "tableSchema": "" + } + }, + "fields": [ + { + "fieldPath": "property_id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "int", + "recursive": false, + "isPartOfKey": false + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct>", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct>\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "string", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"string\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "varchar(50)", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"varchar(50)\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "nullable": true, + "description": "Service provider id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + } + ] + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV1%2CPROD%29/schemaMetadata?createIfNotExists=false", + "description": "Schema version 2", + "json": { + "schemaName": "db1.nested_struct_test", + "platform": "urn:li:dataPlatform:hive", + "version": 0, + "created": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "lastModified": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "hash": "", + "platformSchema": { + "com.linkedin.schema.MySqlDDL": { + "tableSchema": "" + } + }, + "fields": [ + { + "fieldPath": "property_id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "int", + "recursive": false, + "isPartOfKey": false + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct>", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct>\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "string", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"string\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id3", + "description": "Service provider name", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id2", + "nullable": true, + "description": "Service provider id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + } + ] + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV1%2CPROD%29/schemaMetadata?createIfNotExists=false", + "description": "Schema version 3", + "json": { + "schemaName": "db1.nested_struct_test", + "platform": "urn:li:dataPlatform:hive", + "version": 0, + "created": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "lastModified": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "hash": "", + "platformSchema": { + "com.linkedin.schema.MySqlDDL": { + "tableSchema": "" + } + }, + "fields": [ + { + "fieldPath": "property_id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "int", + "recursive": false, + "isPartOfKey": false + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct>", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct>\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "string", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"string\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "description": "Service provider name", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "varchar(50)", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"varchar(50)\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "nullable": true, + "description": "Service provider id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + } + ] + } + } + }, + { + "request": { + "url": "/openapi/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV1%2CPROD%29?startTime=-1&endTime=0&raw=false&categories=TECHNICAL_SCHEMA", + "method": "get", + "description": "Get timeline response" + }, + "response": { + "exclude_regex_paths": [ + "root\\[.+?\\]\\['timestamp'\\]" + ], + "json": [ + { + "timestamp": 1723245258298, + "actor": "urn:li:corpuser:__datahub_system", + "semVer": "0.0.0-computed", + "semVerChange": "MINOR", + "changeEvents": [ + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.type)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.type)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.type'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.id'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.name)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.name)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.name'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),property_id)", + "parameters": { + "fieldPath": "property_id", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),property_id)", + "nullable": false + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'property_id'." + } + ], + "versionStamp": "browsePathsV2:0;dataPlatformInstance:0;datasetKey:0;schemaMetadata:1" + }, + { + "timestamp": 1723245269788, + "actor": "urn:li:corpuser:__datahub_system", + "semVer": "1.0.0-computed", + "semVerChange": "MAJOR", + "changeEvents": [ + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "MODIFY", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to renaming of the field 'service.provider.id to service.provider.id2'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id3)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id3", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id3)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.id3'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "REMOVE", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.name)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.name)", + "nullable": true + }, + "semVerChange": "MAJOR", + "description": "A backwards incompatible change due to removal of field: 'service.provider.name'." + } + ], + "versionStamp": "browsePathsV2:0;dataPlatformInstance:0;datasetKey:0;schemaMetadata:2" + }, + { + "timestamp": 1723245279320, + "actor": "urn:li:corpuser:__datahub_system", + "semVer": "2.0.0-computed", + "semVerChange": "MAJOR", + "changeEvents": [ + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "MODIFY", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id2)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id2", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id2)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to renaming of the field 'service.provider.id2 to service.provider.id'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "REMOVE", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id3)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id3", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.id3)", + "nullable": true + }, + "semVerChange": "MAJOR", + "description": "A backwards incompatible change due to removal of field: 'service.provider.id3'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.name)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV1,PROD),service.provider.name)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.name'." + } + ], + "versionStamp": "browsePathsV2:0;dataPlatformInstance:0;datasetKey:0;schemaMetadata:0" + } + ] + } + } +] \ No newline at end of file diff --git a/smoke-test/tests/openapi/v2/__init__.py b/smoke-test/tests/openapi/v2/__init__.py new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/smoke-test/tests/openapi/v2/structured_properties.json b/smoke-test/tests/openapi/v2/structured_properties.json new file mode 100644 index 00000000000000..7eb67ffc8c320c --- /dev/null +++ b/smoke-test/tests/openapi/v2/structured_properties.json @@ -0,0 +1,332 @@ +[ + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV2%2CPROD%29", + "description": "Remove test dataset", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v2/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v2.retentionTime", + "description": "Remove test structured property", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v2/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v2.retentionTime02", + "description": "Remove test structured property #2", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v2/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v2.retentionTime/propertyDefinition", + "description": "Create structured property definition", + "params": { + "createIfNotExists": "false" + }, + "json": { + "qualifiedName": "io.acryl.privacy.v2.retentionTime", + "valueType": "urn:li:dataType:datahub.number", + "description": "Retention Time is used to figure out how long to retain records in a dataset", + "displayName": "Retention Time", + "cardinality": "MULTIPLE", + "entityTypes": [ + "urn:li:entityType:datahub.dataset", + "urn:li:entityType:datahub.dataFlow" + ], + "allowedValues": [ + { + "value": { + "double": 30 + }, + "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" + }, + { + "value": { + "double": 60 + }, + "description": "Use this for datasets that drive monthly reporting but contain pii" + }, + { + "value": { + "double": 365 + }, + "description": "Use this for non-sensitive data that can be retained for longer" + } + ] + } + }, + "response": { + "json": { + "urn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime", + "aspects": { + "propertyDefinition": { + "value": { + "allowedValues": [ + { + "value": { + "double": 30.0 + }, + "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" + }, + { + "value": { + "double": 60.0 + }, + "description": "Use this for datasets that drive monthly reporting but contain pii" + }, + { + "value": { + "double": 365.0 + }, + "description": "Use this for non-sensitive data that can be retained for longer" + } + ], + "qualifiedName": "io.acryl.privacy.v2.retentionTime", + "displayName": "Retention Time", + "valueType": "urn:li:dataType:datahub.number", + "description": "Retention Time is used to figure out how long to retain records in a dataset", + "entityTypes": [ + "urn:li:entityType:datahub.dataset", + "urn:li:entityType:datahub.dataFlow" + ], + "cardinality": "MULTIPLE" + } + } + } + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset?createIfNotExists=false&createEntityIfNotExists=false", + "description": "Create dataset", + "json": [ + { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV2,PROD)", + "aspects": { + "status": { + "value": { + "removed": false + } + } + } + } + ] + }, + "response": { + "json": [ + { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV2,PROD)" + } + ] + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV2%2CPROD%29/structuredProperties?createIfNotExists=false", + "description": "Add structured property to dataset", + "json": { + "properties": [ + { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime", + "values": [ + { + "double": 60.0 + } + ] + } + ] + } + }, + "response": { + "json": { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV2,PROD)", + "aspects": { + "structuredProperties": { + "value": { + "properties": [ + { + "values": [ + { + "double": 60.0 + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime" + } + ] + } + } + } + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v2.retentionTime02/propertyDefinition?createIfNotExists=false", + "description": "Create structured property definition #2", + "params": { + "createIfNotExists": "false" + }, + "json": { + "qualifiedName": "io.acryl.privacy.v2.retentionTime02", + "displayName": "Retention Time 02", + "valueType": "urn:li:dataType:datahub.string", + "allowedValues": [ + { + "value": { + "string": "foo2" + }, + "description": "test foo2 value" + }, + { + "value": { + "string": "bar2" + }, + "description": "test bar2 value" + } + ], + "cardinality": "SINGLE", + "entityTypes": [ + "urn:li:entityType:datahub.dataset" + ] + } + }, + "response": { + "json": { + "urn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime02", + "aspects": { + "propertyDefinition": { + "value": { + "allowedValues": [ + { + "description": "test foo2 value", + "value": { + "string": "foo2" + } + }, + { + "description": "test bar2 value", + "value": { + "string": "bar2" + } + } + ], + "entityTypes": [ + "urn:li:entityType:datahub.dataset" + ], + "cardinality": "SINGLE", + "displayName": "Retention Time 02", + "qualifiedName": "io.acryl.privacy.v2.retentionTime02", + "valueType": "urn:li:dataType:datahub.string" + } + } + } + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV2%2CPROD%29/structuredProperties", + "description": "Patch ADD structured property", + "method": "patch", + "json": { + "patch": [ + { + "op": "add", + "path": "/properties/urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime02", + "value": { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime02", + "values": [ + { + "string": "bar2" + } + ] + } + } + ], + "arrayPrimaryKeys": { + "properties": [ + "propertyUrn" + ] + } + } + }, + "response": { + "json": { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV2,PROD)", + "aspects": { + "structuredProperties": { + "value": { + "properties": [ + { + "values": [ + { + "double": 60.0 + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime" + }, + { + "values": [ + { + "string": "bar2" + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime02" + } + ] + } + } + } + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV2%2CPROD%29/structuredProperties", + "description": "Patch REMOVE structured property", + "method": "patch", + "json": { + "patch": [ + { + "op": "remove", + "path": "/properties/urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime02", + "value": { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime02" + } + } + ], + "arrayPrimaryKeys": { + "properties": [ + "propertyUrn" + ] + } + } + }, + "response": { + "json": { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV2,PROD)", + "aspects": { + "structuredProperties": { + "value": { + "properties": [ + { + "values": [ + { + "double": 60.0 + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v2.retentionTime" + } + ] + } + } + } + } + } + } +] \ No newline at end of file diff --git a/smoke-test/tests/openapi/v2/timeline.json b/smoke-test/tests/openapi/v2/timeline.json new file mode 100644 index 00000000000000..ceee67b39a6d0f --- /dev/null +++ b/smoke-test/tests/openapi/v2/timeline.json @@ -0,0 +1,526 @@ +[ + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV2%2CPROD%29", + "description": "Remove test dataset", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV2%2CPROD%29/schemaMetadata?createIfNotExists=false", + "description": "Schema version 1", + "json": { + "schemaName": "db1.nested_struct_test", + "platform": "urn:li:dataPlatform:hive", + "version": 0, + "created": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "lastModified": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "hash": "", + "platformSchema": { + "com.linkedin.schema.MySqlDDL": { + "tableSchema": "" + } + }, + "fields": [ + { + "fieldPath": "property_id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "int", + "recursive": false, + "isPartOfKey": false + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct>", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct>\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "string", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"string\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "varchar(50)", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"varchar(50)\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "nullable": true, + "description": "Service provider id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + } + ] + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV2%2CPROD%29/schemaMetadata?createIfNotExists=false", + "description": "Schema version 2", + "json": { + "schemaName": "db1.nested_struct_test", + "platform": "urn:li:dataPlatform:hive", + "version": 0, + "created": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "lastModified": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "hash": "", + "platformSchema": { + "com.linkedin.schema.MySqlDDL": { + "tableSchema": "" + } + }, + "fields": [ + { + "fieldPath": "property_id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "int", + "recursive": false, + "isPartOfKey": false + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct>", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct>\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "string", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"string\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id3", + "description": "Service provider name", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id2", + "nullable": true, + "description": "Service provider id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + } + ] + } + } + }, + { + "request": { + "url": "/openapi/v2/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV2%2CPROD%29/schemaMetadata?createIfNotExists=false", + "description": "Schema version 3", + "json": { + "schemaName": "db1.nested_struct_test", + "platform": "urn:li:dataPlatform:hive", + "version": 0, + "created": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "lastModified": { + "time": 0, + "actor": "urn:li:corpuser:unknown", + "impersonator": "urn:li:corpuser:jdoe" + }, + "hash": "", + "platformSchema": { + "com.linkedin.schema.MySqlDDL": { + "tableSchema": "" + } + }, + "fields": [ + { + "fieldPath": "property_id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "int", + "recursive": false, + "isPartOfKey": false + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct>", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct>\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "string", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"string\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.RecordType": {} + } + }, + "nativeDataType": "struct", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"struct\"}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "description": "Service provider name", + "nullable": true, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "nativeDataType": "varchar(50)", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"varchar(50)\", \"_nullable\": true}" + }, + { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "nullable": true, + "description": "Service provider id", + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "nativeDataType": "tinyint", + "recursive": false, + "isPartOfKey": false, + "jsonProps": "{\"native_data_type\": \"tinyint\", \"_nullable\": true}" + } + ] + } + } + }, + { + "request": { + "url": "/openapi/v2/timeline/v1/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetTimelineV2%2CPROD%29?startTime=-1&endTime=0&raw=false&categories=TECHNICAL_SCHEMA", + "method": "get", + "description": "Get timeline response" + }, + "response": { + "exclude_regex_paths": [ + "root\\[.+?\\]\\['timestamp'\\]" + ], + "json": [ + { + "timestamp": 1723245258298, + "actor": "urn:li:corpuser:__datahub_system", + "semVer": "0.0.0-computed", + "semVerChange": "MINOR", + "changeEvents": [ + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.type)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=string].type", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.type)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.type'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.id'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.name)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.name)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.name'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),property_id)", + "parameters": { + "fieldPath": "property_id", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),property_id)", + "nullable": false + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'property_id'." + } + ], + "versionStamp": "browsePathsV2:0;dataPlatformInstance:0;datasetKey:0;schemaMetadata:1" + }, + { + "timestamp": 1723245269788, + "actor": "urn:li:corpuser:__datahub_system", + "semVer": "1.0.0-computed", + "semVerChange": "MAJOR", + "changeEvents": [ + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "MODIFY", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to renaming of the field 'service.provider.id to service.provider.id2'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id3)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id3", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id3)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.id3'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "REMOVE", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.name)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.name)", + "nullable": true + }, + "semVerChange": "MAJOR", + "description": "A backwards incompatible change due to removal of field: 'service.provider.name'." + } + ], + "versionStamp": "browsePathsV2:0;dataPlatformInstance:0;datasetKey:0;schemaMetadata:2" + }, + { + "timestamp": 1723245279320, + "actor": "urn:li:corpuser:__datahub_system", + "semVer": "2.0.0-computed", + "semVerChange": "MAJOR", + "changeEvents": [ + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "MODIFY", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id2)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id2", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id2)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to renaming of the field 'service.provider.id2 to service.provider.id'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "REMOVE", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id3)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=int].id3", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.id3)", + "nullable": true + }, + "semVerChange": "MAJOR", + "description": "A backwards incompatible change due to removal of field: 'service.provider.id3'." + }, + { + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD)", + "category": "TECHNICAL_SCHEMA", + "operation": "ADD", + "modifier": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.name)", + "parameters": { + "fieldPath": "[version=2.0].[type=struct].[type=struct].service.[type=struct].provider.[type=string].name", + "fieldUrn": "urn:li:schemaField:(urn:li:dataset:(urn:li:dataPlatform:test,datasetTimelineV2,PROD),service.provider.name)", + "nullable": true + }, + "semVerChange": "MINOR", + "description": "A forwards & backwards compatible change due to the newly added field 'service.provider.name'." + } + ], + "versionStamp": "browsePathsV2:0;dataPlatformInstance:0;datasetKey:0;schemaMetadata:0" + } + ] + } + } +] \ No newline at end of file diff --git a/smoke-test/tests/openapi/v3/__init__.py b/smoke-test/tests/openapi/v3/__init__.py new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/smoke-test/tests/openapi/v3/structured_properties.json b/smoke-test/tests/openapi/v3/structured_properties.json new file mode 100644 index 00000000000000..b000c5da0a2838 --- /dev/null +++ b/smoke-test/tests/openapi/v3/structured_properties.json @@ -0,0 +1,331 @@ +[ + { + "request": { + "url": "/openapi/v3/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV3%2CPROD%29", + "description": "Remove test dataset", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v3.retentionTime", + "description": "Remove test structured property", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v3.retentionTime02", + "description": "Remove test structured property #2", + "method": "delete" + } + }, + { + "request": { + "url": "/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v3.retentionTime/propertyDefinition", + "description": "Create structured property definition", + "params": { + "createIfNotExists": "false" + }, + "json": { + "value": { + "qualifiedName": "io.acryl.privacy.v3.retentionTime", + "valueType": "urn:li:dataType:datahub.number", + "description": "Retention Time is used to figure out how long to retain records in a dataset", + "displayName": "Retention Time", + "cardinality": "MULTIPLE", + "entityTypes": [ + "urn:li:entityType:datahub.dataset", + "urn:li:entityType:datahub.dataFlow" + ], + "allowedValues": [ + { + "value": { + "double": 30 + }, + "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" + }, + { + "value": { + "double": 60 + }, + "description": "Use this for datasets that drive monthly reporting but contain pii" + }, + { + "value": { + "double": 365 + }, + "description": "Use this for non-sensitive data that can be retained for longer" + } + ] + } + } + }, + "response": { + "json": { + "urn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime", + "propertyDefinition": { + "value": { + "allowedValues": [ + { + "value": { + "double": 30.0 + }, + "description": "30 days, usually reserved for datasets that are ephemeral and contain pii" + }, + { + "value": { + "double": 60.0 + }, + "description": "Use this for datasets that drive monthly reporting but contain pii" + }, + { + "value": { + "double": 365.0 + }, + "description": "Use this for non-sensitive data that can be retained for longer" + } + ], + "qualifiedName": "io.acryl.privacy.v3.retentionTime", + "displayName": "Retention Time", + "valueType": "urn:li:dataType:datahub.number", + "description": "Retention Time is used to figure out how long to retain records in a dataset", + "entityTypes": [ + "urn:li:entityType:datahub.dataset", + "urn:li:entityType:datahub.dataFlow" + ], + "cardinality": "MULTIPLE" + } + } + } + } + }, + { + "request": { + "url": "/openapi/v3/entity/dataset?createIfNotExists=false&createEntityIfNotExists=false", + "description": "Create dataset", + "json": [ + { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV3,PROD)", + "status": { + "value": { + "removed": false + } + } + } + ] + }, + "response": { + "json": [ + { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV3,PROD)", + "status": { + "value": { + "removed": false + } + } + } + ] + } + }, + { + "request": { + "url": "/openapi/v3/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV3%2CPROD%29/structuredProperties?createIfNotExists=false", + "description": "Add structured property to dataset", + "json": { + "value": { + "properties": [ + { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime", + "values": [ + { + "double": 60.0 + } + ] + } + ] + } + } + }, + "response": { + "json": { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV3,PROD)", + "structuredProperties": { + "value": { + "properties": [ + { + "values": [ + { + "double": 60.0 + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime" + } + ] + } + } + } + } + }, + { + "request": { + "url": "/openapi/v3/entity/structuredProperty/urn%3Ali%3AstructuredProperty%3Aio.acryl.privacy.v3.retentionTime02/propertyDefinition?createIfNotExists=false", + "description": "Create structured property definition #2", + "params": { + "createIfNotExists": "false" + }, + "json": { + "value": { + "qualifiedName": "io.acryl.privacy.v3.retentionTime02", + "displayName": "Retention Time 02", + "valueType": "urn:li:dataType:datahub.string", + "allowedValues": [ + { + "value": { + "string": "foo2" + }, + "description": "test foo2 value" + }, + { + "value": { + "string": "bar2" + }, + "description": "test bar2 value" + } + ], + "cardinality": "SINGLE", + "entityTypes": [ + "urn:li:entityType:datahub.dataset" + ] + } + } + }, + "response": { + "json": { + "urn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime02", + "propertyDefinition": { + "value": { + "allowedValues": [ + { + "description": "test foo2 value", + "value": { + "string": "foo2" + } + }, + { + "description": "test bar2 value", + "value": { + "string": "bar2" + } + } + ], + "entityTypes": [ + "urn:li:entityType:datahub.dataset" + ], + "cardinality": "SINGLE", + "displayName": "Retention Time 02", + "qualifiedName": "io.acryl.privacy.v3.retentionTime02", + "valueType": "urn:li:dataType:datahub.string" + } + } + } + } + }, + { + "request": { + "url": "/openapi/v3/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV3%2CPROD%29/structuredProperties", + "description": "Patch ADD structured property", + "method": "patch", + "json": { + "patch": [ + { + "op": "add", + "path": "/properties/urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime02", + "value": { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime02", + "values": [ + { + "string": "bar2" + } + ] + } + } + ], + "arrayPrimaryKeys": { + "properties": [ + "propertyUrn" + ] + } + } + }, + "response": { + "json": { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV3,PROD)", + "structuredProperties": { + "value": { + "properties": [ + { + "values": [ + { + "double": 60.0 + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime" + }, + { + "values": [ + { + "string": "bar2" + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime02" + } + ] + } + } + } + } + }, + { + "request": { + "url": "/openapi/v3/entity/dataset/urn%3Ali%3Adataset%3A%28urn%3Ali%3AdataPlatform%3Atest%2CdatasetStructPropV3%2CPROD%29/structuredProperties", + "description": "Patch REMOVE structured property", + "method": "patch", + "json": { + "patch": [ + { + "op": "remove", + "path": "/properties/urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime02", + "value": { + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime02" + } + } + ], + "arrayPrimaryKeys": { + "properties": [ + "propertyUrn" + ] + } + } + }, + "response": { + "json": { + "urn": "urn:li:dataset:(urn:li:dataPlatform:test,datasetStructPropV3,PROD)", + "structuredProperties": { + "value": { + "properties": [ + { + "values": [ + { + "double": 60.0 + } + ], + "propertyUrn": "urn:li:structuredProperty:io.acryl.privacy.v3.retentionTime" + } + ] + } + } + } + } + } +] \ No newline at end of file diff --git a/smoke-test/tests/privileges/test_privileges.py b/smoke-test/tests/privileges/test_privileges.py index c9a0b621593148..bce7b8a238c385 100644 --- a/smoke-test/tests/privileges/test_privileges.py +++ b/smoke-test/tests/privileges/test_privileges.py @@ -4,11 +4,13 @@ from tests.privileges.utils import ( assign_role, assign_user_to_group, + clear_polices, create_group, create_user, create_user_policy, remove_group, remove_policy, + remove_secret, remove_user, set_base_platform_privileges_policy_status, set_view_dataset_sensitive_info_policy_status, @@ -65,6 +67,12 @@ def privileges_and_test_user_setup(admin_session): # Remove test user remove_user(admin_session, "urn:li:corpuser:user") + # Remove secret + remove_secret(admin_session, "urn:li:dataHubSecret:TestSecretName") + + # Remove test policies + clear_polices(admin_session) + # Restore All users privileges set_base_platform_privileges_policy_status("ACTIVE", admin_session) set_view_dataset_sensitive_info_policy_status("ACTIVE", admin_session) diff --git a/smoke-test/tests/privileges/utils.py b/smoke-test/tests/privileges/utils.py index 1e58ec4085b703..72ad94a42a4627 100644 --- a/smoke-test/tests/privileges/utils.py +++ b/smoke-test/tests/privileges/utils.py @@ -246,8 +246,8 @@ def create_user_policy(user_urn, privileges, session): "variables": { "input": { "type": "PLATFORM", - "name": "Policy Name", - "description": "Policy Description", + "name": "Test Policy Name", + "description": "Test Policy Description", "state": "ACTIVE", "resources": {"filter": {"criteria": []}}, "privileges": privileges, @@ -288,3 +288,69 @@ def remove_policy(urn, session): assert res_data["data"] assert res_data["data"]["deletePolicy"] assert res_data["data"]["deletePolicy"] == urn + + +def clear_polices(session): + list_policy_json = { + "query": """query listPolicies($input: ListPoliciesInput!) { + listPolicies(input: $input) { + start + count + total + policies { + urn + editable + name + description + __typename + } + __typename + } + }""", + "variables": { + "input": { + "count": 100, + "start": 0, + "orFilters": [ + { + "and": [ + { + "field": "state", + "values": ["ACTIVE"], + "condition": "EQUAL", + }, + { + "field": "editable", + "values": ["true"], + "condition": "EQUAL", + }, + ] + } + ], + } + }, + } + + response = session.post( + f"{get_frontend_url()}/api/v2/graphql", json=list_policy_json + ) + response.raise_for_status() + res_data = response.json() + + assert res_data + assert res_data["data"] + assert res_data["data"]["listPolicies"] + for policy in res_data["data"]["listPolicies"]["policies"]: + if "test" in policy["name"].lower() or "test" in policy["description"].lower(): + remove_policy(policy["urn"], session) + + +def remove_secret(session, urn): + remove_secret = { + "query": """mutation deleteSecret($urn: String!) {\n + deleteSecret(urn: $urn)\n}""", + "variables": {"urn": urn}, + } + + response = session.post(f"{get_frontend_url()}/api/v2/graphql", json=remove_secret) + response.raise_for_status() diff --git a/smoke-test/tests/read_only/test_search.py b/smoke-test/tests/read_only/test_search.py index 90385c5228bc1a..3b9635f3da2cd5 100644 --- a/smoke-test/tests/read_only/test_search.py +++ b/smoke-test/tests/read_only/test_search.py @@ -1,10 +1,13 @@ import pytest +import requests from tests.test_result_msg import add_datahub_stats -from tests.utils import get_frontend_session, get_frontend_url +from tests.utils import get_frontend_session, get_frontend_url, get_gms_url -restli_default_headers = { - "X-RestLi-Protocol-Version": "2.0.0", +BASE_URL_V3 = f"{get_gms_url()}/openapi/v3" + +default_headers = { + "Content-Type": "application/json", } ENTITY_TO_MAP = { @@ -59,16 +62,8 @@ def _get_search_result(frontend_session, entity: str): ("chart", "chart"), ("dataset", "dataset"), ("dashboard", "dashboard"), - ( - # Task - "dataJob", - "dataJob", - ), - ( - # Pipeline - "dataFlow", - "dataFlow", - ), + ("dataJob", "dataJob"), + ("dataFlow", "dataFlow"), ("container", "container"), ("tag", "tag"), ("corpUser", "corpUser"), @@ -78,11 +73,7 @@ def _get_search_result(frontend_session, entity: str): ("mlPrimaryKey", "mlPrimaryKey"), ("corpGroup", "corpGroup"), ("mlFeatureTable", "mlFeatureTable"), - ( - # Term group - "glossaryNode", - "glossaryNode", - ), + ("glossaryNode", "glossaryNode"), ("mlModel", "mlModel"), ], ) @@ -112,8 +103,56 @@ def test_search_works(entity_type, api_name): """, "variables": {"input": first_urn}, } + response = frontend_session.post(f"{get_frontend_url()}/api/v2/graphql", json=json) response.raise_for_status() res_data = response.json() assert res_data["data"], f"res_data was {res_data}" assert res_data["data"][api_name]["urn"] == first_urn, f"res_data was {res_data}" + + +@pytest.mark.read_only +@pytest.mark.parametrize( + "entity_type", + [ + "chart", + "dataset", + "dashboard", + "dataJob", + "dataFlow", + "container", + "tag", + "corpUser", + "mlFeature", + "glossaryTerm", + "domain", + "mlPrimaryKey", + "corpGroup", + "mlFeatureTable", + "glossaryNode", + "mlModel", + ], +) +def test_openapi_v3_entity(entity_type): + frontend_session = get_frontend_session() + search_result = _get_search_result(frontend_session, entity_type) + num_entities = search_result["total"] + if num_entities == 0: + print(f"[WARN] No results for {entity_type}") + return + entities = search_result["searchResults"] + + first_urn = entities[0]["entity"]["urn"] + + session = requests.Session() + url = f"{BASE_URL_V3}/entity/{entity_type}/{first_urn}" + response = session.get(url, headers=default_headers) + response.raise_for_status() + actual_data = response.json() + print(f"Entity Data for URN {first_urn}: {actual_data}") + + expected_data = {"urn": first_urn} + + assert ( + actual_data["urn"] == expected_data["urn"] + ), f"Mismatch: expected {expected_data}, got {actual_data}" diff --git a/smoke-test/tests/schema_fields/__init__.py b/smoke-test/tests/schema_fields/__init__.py new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/smoke-test/tests/schema_fields/queries/__init__.py b/smoke-test/tests/schema_fields/queries/__init__.py new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/smoke-test/tests/schema_fields/queries/get_chart_field.gql b/smoke-test/tests/schema_fields/queries/get_chart_field.gql new file mode 100644 index 00000000000000..424e5ad686ab9c --- /dev/null +++ b/smoke-test/tests/schema_fields/queries/get_chart_field.gql @@ -0,0 +1,20 @@ +query($urn:String!) { + chart(urn: $urn) { + inputFields { + fields { + schemaFieldUrn + schemaField { + schemaFieldEntity { + urn + fieldPath + documentation { + documentations { + documentation + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/smoke-test/tests/schema_fields/schema_evolution.py b/smoke-test/tests/schema_fields/schema_evolution.py new file mode 100644 index 00000000000000..256ae3c29ac04d --- /dev/null +++ b/smoke-test/tests/schema_fields/schema_evolution.py @@ -0,0 +1,230 @@ +import time +from enum import Enum + +import datahub.metadata.schema_classes as models +import pytest +from datahub.cli.cli_utils import get_aspects_for_entity +from datahub.emitter.mce_builder import make_dataset_urn, make_schema_field_urn +from datahub.emitter.mcp import MetadataChangeProposalWrapper +from datahub.ingestion.graph.client import DataHubGraph, get_default_graph +from tenacity import retry, stop_after_delay, wait_fixed + +from tests.utils import get_datahub_graph, ingest_file_via_rest, wait_for_writes_to_sync + +_MAX_DELAY_UNTIL_WRITES_VISIBLE_SECS = 30 +_ATTEMPT_RETRY_INTERVAL_SECS = 1 +large_dataset_urn = "urn:li:dataset:(urn:li:dataPlatform:looker,test-large-schema,PROD)" + + +class FieldPathStyle(Enum): + FLAT = "FLAT" + NESTED = "NESTED" + + +def _create_schema_with_fields( + entity_urn: str, + num_fields: int = 1, + field_path_style: FieldPathStyle = FieldPathStyle.FLAT, +) -> models.SchemaMetadataClass: + """ + A simple helper function to create a schema with a given number of fields. + The fields are created with the following naming convention: + - FLAT: field_0, field_1, field_2, ... + - NESTED: [version=2.0].[type=Address].parent_field.[type=string].field_0, + [version=2.0].[type=Address].parent_field.[type=string].field_1, ... + + TODO: Add support for more complex field types and descriptions beyond + strings. + """ + + schema = models.SchemaMetadataClass( + schemaName="my_schema", + platformSchema=models.OtherSchemaClass(rawSchema=""), + platform="urn:li:dataPlatform:bigquery", + version=0, + hash="", + fields=[ + models.SchemaFieldClass( + fieldPath=( + f"field_{i}" + if field_path_style == FieldPathStyle.FLAT + else f"[version=2.0].[type=Address].parent_field.[type=string].field_{i}" + ), + nativeDataType="STRING", + type=models.SchemaFieldDataTypeClass(type=models.StringTypeClass()), + description="", + nullable=True, + ) + for i in range(num_fields) + ], + ) + assert schema.validate() + return schema + + +@pytest.fixture(autouse=False) +def test_setup(): + """Fixture data""" + client = get_datahub_graph() + session = client._session + gms_host = client.config.server + + ingest_file_via_rest( + "tests/schema_fields/schema_field_side_effect_data.json" + ).config.run_id + + assert "schemaMetadata" in get_aspects_for_entity( + session, + gms_host, + entity_urn=large_dataset_urn, + aspects=["schemaMetadata"], + typed=False, + ) + + yield + # Deleting takes way too long for CI + # + # rollback_url = f"{gms_host}/runs?action=rollback" + # session.post( + # rollback_url, + # data=json.dumps( + # {"runId": ingested_dataset_run_id, "dryRun": False, "hardDelete": True} + # ), + # ) + # + # wait_for_writes_to_sync() + # + # assert "schemaMetadata" not in get_aspects_for_entity( + # entity_urn=large_dataset_urn, aspects=["schemaMetadata"], typed=False + # ) + + +@retry( + stop=stop_after_delay(_MAX_DELAY_UNTIL_WRITES_VISIBLE_SECS), + wait=wait_fixed(_ATTEMPT_RETRY_INTERVAL_SECS), + reraise=True, +) +def assert_schema_field_exists(graph: DataHubGraph, urn: str, field_path: str): + schema_field_urn = make_schema_field_urn(parent_urn=urn, field_path=field_path) + assert graph.exists(schema_field_urn) + status = graph.get_aspect(schema_field_urn, models.StatusClass) + assert status is None or status.removed is False + + +@retry( + stop=stop_after_delay(_MAX_DELAY_UNTIL_WRITES_VISIBLE_SECS), + wait=wait_fixed(_ATTEMPT_RETRY_INTERVAL_SECS), + reraise=True, +) +def assert_schema_field_soft_deleted(graph: DataHubGraph, urn: str, field_path: str): + schema_field_urn = make_schema_field_urn(parent_urn=urn, field_path=field_path) + status = graph.get_aspect(schema_field_urn, models.StatusClass) + assert status and status.removed is True + + +@pytest.mark.parametrize( + "field_path_style", + [ + FieldPathStyle.NESTED, + FieldPathStyle.FLAT, + ], +) +def test_schema_evolution_field_dropped(field_path_style: FieldPathStyle): + """ + Test that schema evolution works as expected + 1. Create a schema with 2 fields + 2. Sleep for 10 seconds + 3. Update the schema to have 1 field + 4. Sleep for 10 seconds + 5. Assert that the field_1 is removed + """ + + now = int(time.time()) + + urn = make_dataset_urn("bigquery", f"my_dataset.my_table.{now}") + print(urn) + with get_default_graph() as graph: + schema_with_2_fields = _create_schema_with_fields( + urn, 2, field_path_style=field_path_style + ) + field_names = [field.fieldPath for field in schema_with_2_fields.fields] + graph.emit( + MetadataChangeProposalWrapper( + entityUrn=urn, + aspect=schema_with_2_fields, + ) + ) + + for field_name in field_names: + print("Checking field: ", field_name) + assert_schema_field_exists(graph, urn, field_name) + + # Evolve the schema + schema_with_1_field = _create_schema_with_fields( + urn, 1, field_path_style=field_path_style + ) + new_field_name = schema_with_1_field.fields[0].fieldPath + + field_names.remove(new_field_name) + removed_field_name = field_names[0] + + graph.emit( + MetadataChangeProposalWrapper( + entityUrn=urn, + aspect=schema_with_1_field, + ) + ) + + assert_schema_field_exists(graph, urn, new_field_name) + assert_schema_field_soft_deleted(graph, urn, removed_field_name) + + +def test_soft_deleted_entity(): + """ + Test that we if there is a soft deleted dataset, its schema fields are + initialized with soft deleted status + 1. Create a schema with 2 fields + """ + + now = int(time.time()) + + urn = make_dataset_urn("bigquery", f"my_dataset.my_table.{now}") + print(urn) + with get_default_graph() as graph: + schema_with_2_fields = _create_schema_with_fields(urn, 2) + field_names = [field.fieldPath for field in schema_with_2_fields.fields] + graph.emit( + MetadataChangeProposalWrapper( + entityUrn=urn, + aspect=schema_with_2_fields, + ) + ) + + for field_name in field_names: + print("Checking field: ", field_name) + assert_schema_field_exists(graph, urn, field_name) + + # Soft delete the dataset + graph.emit( + MetadataChangeProposalWrapper( + entityUrn=urn, + aspect=models.StatusClass(removed=True), + ) + ) + + # Check that the fields are soft deleted + for field_name in field_names: + assert_schema_field_soft_deleted(graph, urn, field_name) + + +# Note: Does not execute deletes, too slow for CI +@pytest.mark.dependency() +def test_large_schema(test_setup): + wait_for_writes_to_sync() + with get_default_graph() as graph: + assert_schema_field_exists(graph, large_dataset_urn, "last_of.6800_cols") + + +if __name__ == "__main__": + test_schema_evolution_field_dropped() + test_soft_deleted_entity() diff --git a/smoke-test/tests/schema_fields/schema_field_side_effect_data.json b/smoke-test/tests/schema_fields/schema_field_side_effect_data.json new file mode 100644 index 00000000000000..8d40a1df1be5dd --- /dev/null +++ b/smoke-test/tests/schema_fields/schema_field_side_effect_data.json @@ -0,0 +1,153085 @@ +[ + { + "auditHeader": null, + "proposedSnapshot": { + "com.linkedin.pegasus2avro.metadata.snapshot.DatasetSnapshot": { + "urn": "urn:li:dataset:(urn:li:dataPlatform:looker,test-large-schema,PROD)", + "aspects": [ + { + "com.linkedin.pegasus2avro.schema.SchemaMetadata": { + "primaryKeys": [], + "platformSchema": { + "com.linkedin.schema.OtherSchema": { + "rawSchema": "" + } + }, + "created": { + "actor": "urn:li:corpuser:unknown", + "time": 0 + }, + "lastModified": { + "actor": "urn:li:corpuser:unknown", + "time": 0 + }, + "fields": [ + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_c_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_c_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_c_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_c_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_c_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_c_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_i_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_i_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_i_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_i_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_i_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_i_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_o_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_o_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_o_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_o_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_o_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_o_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_a_l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_a_w_l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_b_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_h.e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_h.c_f_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_a_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_a_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_t_a_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.l_c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.l_c_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.m_c_w_3_d_o_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.m_d_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.m_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.m_t_d_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.o_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.s_c_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.s_c_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.v_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.v_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.w_l_c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.w_l_c_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.e_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.f_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.f_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.f_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.f_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.f_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.f_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.h_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_a_f.i_c_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_a_f.i_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.n_o_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.o_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_c_i.p_i_z_d_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i.p_z_d_c_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i.p_z_d_t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_i.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_i.t_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i.t_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_a_f.t_o_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_a_f.c_a_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_e.c_s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.e_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.e_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.i_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.l_m_i_f_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.m_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_e.o_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_c_e.s_c_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.t_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.t_o_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_e.z_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_m_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.c_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.f_s_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.m_e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.m_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.u_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "n_p._r", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.a_D_E_D_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.a_D_E_D_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.a_D_E_D_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.a_D_E_D_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.a_D_E_D_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.a_i_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "n_p.a_N", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.a_p_n_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "n_p.a_p_n_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "n_p.a_p_n_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "n_p.a_S_D", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.a_s_d_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "n_p.A_G_o_T", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.A_G_w_1_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.A_G_w_2_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.A_D_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.A_D_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.A_D_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.A_D_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.A_D_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.C_E_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.C_E_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.C_E_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.C_E_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.C_E_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.C_S_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.C_S_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.C_S_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.C_S_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.C_S_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.C_T", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.C_W", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.D_o_A_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.D_o_A_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.D_o_A_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.D_o_A_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.D_o_A_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.d_n_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "n_p.d_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "n_p.G_D_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.G_D_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.G_D_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.G_D_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.G_D_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.I_A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.L", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.L", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.m_n_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_month" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.N_E_D_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.N_S_D_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.N_S_D_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.N_S_D_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.N_S_D_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.N_S_D_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.N_w_n_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_3_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_3_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_6_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_6_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_9_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_9_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_9_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "n_p.P_N_9_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "n_p.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.t_p_a_n_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.t_p_a_n_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.t_p_a_n_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.T_E", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.T_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.V", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.V_A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.w_n_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_week" + }, + { + "nullable": false, + "fieldPath": "n_p.w_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_week" + }, + { + "nullable": false, + "fieldPath": "n_p.z_u_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.a_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.C_Q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.e_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.m_b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.o_c_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.p_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.s_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "1_i_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "2_s_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "3_t_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "4_f_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "5_f_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "f_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "8_n_e_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "9_p_e_q_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_a_d.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "a_a_d.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_a_d.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_t.i_c_r_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_r_t.i_c_r_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_r_c.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.r", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_c.x", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_c_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_f_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m.q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.d_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.d_a_f_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.d_a_l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.h_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.h_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "f_c_l.m_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_c_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.q_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.r_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.s_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_l.s_o_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.t_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.t_p_t_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.t_q_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_l.z_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_s_g.a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_o_c_s_i_f.c_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_m_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_u_a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_s_g.r_s_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.s_g_s_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_s_g.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_o_c_s_i_f.t_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_t.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_t.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_s_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_i_v_q.i_v_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_i_v_q.i_v_q_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_i_v_q.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_m_i.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_m_i.m_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_m_i.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_c_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_c_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_b_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_b_c_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_b_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_b_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_b_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.l_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.f_c_i_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_r.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.b_r_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_e_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_e_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_e_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_e_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_e.i_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_e.m_g_c_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_m_e.m_g_v_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_m_e.m_m_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.m_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_e_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_e_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_e_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_e_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_e.s_s_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.a_d_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.c_c_r_l_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.c_c_r_l_2", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.c_c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.d_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.d_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.C_S_L", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_i.s_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_i.z_t_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.a_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.a_p_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "c_m_d.a_w_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.b_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.b_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.b_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.b_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_w_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.d_f_e_t_s_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.e_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.e_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.e_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.e_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_p_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_p_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_p_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_p_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_p_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_u_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_u_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_u_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_u_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_u_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_u_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_u_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.f_f_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.h_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.h_f_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.h_l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.i_c_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_m_d.i_c_d_t_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_m_d.i_d_a_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_m_d.i_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_d_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_d_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_d_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_s_i_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_s_i_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_s_i_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_s_i_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_s_i_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_s_i_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_s_i_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_u_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_u_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_u_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_u_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_u_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_u_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.l_u_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_h_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_f_f_u_t_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.p_f_o_b_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.p_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.r_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.r_b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.r_b_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_o_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.t_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_m_d.t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_m_d.u_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_m_d.i_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_c_t.a_i_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_c_t.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.i_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_c_t.l_c_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_c_t.p_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_a_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_a_u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_f_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_f_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_a_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t_i_q_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_f.c_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "c_f.e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_f.r_e_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "c_f.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._e_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._e_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._e_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._l_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._l_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._l_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c._l_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.a_m_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.a_m_n_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.a_m_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.l_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.r_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "d_d_f.c_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_d_f.D_c_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_d_f.D_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_d_f.f_d_p_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "d_d_f.f_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_d_f.i_c_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "d_d_f.i_e_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "d_d_f.l_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "d_d_f.l_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.c_e_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_e_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.c_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "d_z.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "d_r_r.c_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.d_f_r_l_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "d_z.d_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.d_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.d_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_r_r.i_a_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.i_a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.i_a_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.m_r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.m_r_a_c_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "d_z.p_c_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.r_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.r_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "d_r_r.r_p_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.r_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.s_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_z.s_d_r_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_z.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_r_r.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "e.e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "e.e_v_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "e.e_v_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "e.e_v_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "e.e_v_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "e.e_v_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "e.e_v_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "e.e_v_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "e.e_v_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "e.e_v_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "e.e_v_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "e.e_v_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "e.e_v_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "e.e_v_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "e.e_v_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "e.e_v_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "e.p_k", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "e.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "e.v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "e.v_o", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_f.f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_f.h_c_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_f.h_i_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_f.h_m_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_f.h_o_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_f.h_s_t_i_5_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_f.i_c_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.f_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_t.r", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.b_c_f_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_p_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_p_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.f_m_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.f_m_c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_n_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_n_p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_p_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_p_c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.m_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.o_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.p_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.u_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_c_r.l_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_c_r.l_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_c_r.l_i_c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_c_r.l_i_c_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_c_r.l_i_c_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_c_r.l_i_c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_c_r.l_i_e_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_c_r.t_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.c_r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_e.c_r_s_s_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_e.c_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.d_1_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.d_2_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.f_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.e_o_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_e.i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_e.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_e.h_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.r_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_e.t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_e.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.a_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_l_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_l_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_p_s_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_s_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_s_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_s_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.c_u_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.e_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.e_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.f_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.i_m_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.i_e_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.o_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_t.p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.r_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_t.r_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.s_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_t.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_t.t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_t.t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_t.t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_t.t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_t.t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_t.t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_t.t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_t.t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_t.t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_t.t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_t.t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_t.t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_t.t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_t.t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_t.u_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t._f_s_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_i_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_l_o_l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_r_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_o_t_t_s_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_e_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_i_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_o_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_i_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_o_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_c_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_c_a_o_t_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_p_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_p_r_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t_r_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_f_s_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_n_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_s_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_s_f_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_s_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.E_A_C_T_R_B_m_D_L", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_c_i_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_i_a_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_p_r_a_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_a_a_c_d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_a_c_d_s_d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_a_c_t_s_d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_a_d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_a_f_d_d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_a_s_t_u_l_d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.e_a_s_t_u_l_e_d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_l_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_d_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_d_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_a_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.f_r_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_a_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_p_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_p_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.h_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_h_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_r_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_e_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_f_f_e_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_g_a_c_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_g_c_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_z_p_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.m_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.o_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_m_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_d_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_n_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_d_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_e_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_c_l_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_d_a_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_i_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.p_r_a_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.R_B", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_d_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_b_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.t_t_a_i_h_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.t_t_a_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "i_d_t.v_f_r_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.a_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.c_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.c_s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.e_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.e_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c.e_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_c_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_c_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_c_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_c_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_c_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_c_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_i_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_i_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_i_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_i_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_i_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_i_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_o_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_o_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_o_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_o_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_o_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_o_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_a_l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_a_w_l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_b_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_a_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.i_a_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_i_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_i_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_i_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_i_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_i_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_i_c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_t_a_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.l_c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.l_c_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.m_c_w_3_d_o_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.m_d_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.m_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "l_c.m_t_d_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.o_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.o_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c.o_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c.s_c_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.s_c_i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.v_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.v_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c.w_l_c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.w_l_c_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.C_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.c_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.d_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.e_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.f_s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_a_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_r_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_s_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_s_d.v_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_b_f_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.a_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.a_d_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.e_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.e_l_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.f_p_s_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "l_l_f.f_i_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.i_a_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_l_f.i_c_r_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_l_f.i_f_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_l_f.i_f_l_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_o_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_o_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.m_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.p_o_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.p_o_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.p_s_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.p_s_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.r_i_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_i_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_o", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_o_b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.a_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_m_i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_v_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.g_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.o_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.u_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_I", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_A_T_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_C", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.C_R_I", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.T_I", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_j_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.c_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.c_s_s", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.c_s_w_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.c_s_w_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.c_s_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.m_a_C", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.m_g_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_a_m_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_a_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_h_m_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_h_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_m_m_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_m_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_m_m_w_s_a_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_o_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.r_o_p_w_e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_e_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_i_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_i_i_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_s_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_w_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_s_i_i_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_s_i_q_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_s_i_w_u_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_m_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_t_a_s_w_f_m_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_t_m_s_w_f_a_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_u_i_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.a_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.c_m_i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_m.c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.c_v_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.g_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m.m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.o_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_m.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_m.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m.u_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_c_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_c_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_c_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_m_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_m.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.c_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.d_g_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_l_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_m.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.m_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.m_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.o_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_m.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.t_z", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_m_u.z_u_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_a_i_c_w_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.c_b_v_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.c_f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.C_R_l_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.C_R_l_2", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.C_R_l_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.C_R_l_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.c_t_e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.d_f_c_s_t_n_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.d_f_l_s_t_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.d_c_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "m_b_s.d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.d_s_t_o_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_i_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_i_o_s_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_m_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_m_i_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_m_i_i_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_m_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_v_r_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.f_v_r_d_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.i_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.i_d_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.i_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.i_i_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.i_m_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.i_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.L_m_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.l_s_g_o_d_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.l_s_g_s_d_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_b_s.l_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_c_r_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.N_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_s_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_b_s.q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.r_s_f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.r_s_f_m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_i_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_m_e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_m_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_m_i_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_m_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_f_m_i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.M_N_P", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_u_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "m_b_s.t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_b_s.t_r_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.a_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.a_p_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "m.a_w_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.c_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.c_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.c_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.c_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m.c_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.c_c_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m.c_c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.c_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.c_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.c_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.c_c_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m.c_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.c_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.d_f_e_t_s_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.e_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.e_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "m.e_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.e_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.f_f_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.f_f_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.f_f_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.f_f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.f_f_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.f_f_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.f_f_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.f_p_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.f_p_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.f_p_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.f_p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.f_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.f_p_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.f_p_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.f_u_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.f_u_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.f_u_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.f_u_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.f_u_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.f_u_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.f_u_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.f_f_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.h_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.h_f_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.h_l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.i_c_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m.i_c_d_t_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m.i_d_a_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m.i_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m.l_d_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.l_d_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.l_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.l_d_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.l_u_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.l_u_d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.l_u_d_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.l_u_d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.l_u_d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.l_u_d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.l_u_d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.m_h_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.m_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.m_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.m_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.m_f_f_u_t_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.p_f_o_b_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.p_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.r_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.r_b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.s_o_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.s_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.t_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m.t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.u_a_m_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m.u_a_m_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m.u_a_m_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m.u_a_m_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m.u_a_m_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m.u_a_m_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m.u_a_m_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m.i_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "d_u.a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.d_o_b_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.d_c_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.d_u_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "d_u.e_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.e_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.e_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.e_s_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "d_u.e_i_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "d_u.f_n_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.l_n_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.p_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.p_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.p_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.r_b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "d_u.r_b_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.s_o_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "d_u.u_i_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.u_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "d_u.u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.A_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_h_o_p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_m_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_m_b_a_e_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_m_b_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_o_m_b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_f_p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_m_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_m_d_i_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_m_b_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_m_b_p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_p_h_f_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_p_h_n_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_p_i_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_r_b_a_e_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_r_b_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_r_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_r_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_s_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_v_g_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_h_o_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_o_i_m_m_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_d_1_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_d_2_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_d_2_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_d_2_m_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_c_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_f_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_q_o_l_i_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.B_m_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.c_d_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.c_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.c_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.C_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.c_f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.C_R_l_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.C_R_l_2", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.C_R_l_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.C_R_l_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.D_M_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.d_t_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.E_I_P_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.e_a_c_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.F_M_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.F_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.F_P_S", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_n_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_c_e_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_c_s_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_c_w_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_c_i_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.L_M_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.L_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.m_i_p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.m_c_r_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.m_i_i_z", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.m_d_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.n_o_e_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.P_L_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.P_F_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.R_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.R_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.S_E", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.S_I", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.S_V", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.S_A_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.s_s_f_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.s_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.S_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.T_R_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.T_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_o", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_c_r_m_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_e_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_i_s_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_i_c.v_i_f_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_i_c.W_A_M_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.z_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_i_c.c_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "o_m_s.b_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_m_s.c_m_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_m_s.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_m_s.s_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_m_s.t_c_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_m_s.t_r_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_m_s.u_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.z_t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_p_d.a_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_p_d.d_h_p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_p_d.m_d", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "s_p_d.n_a_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_C_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_D_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_D_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_I_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_D_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_F_V_I_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_I_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_2", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_S_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.A_T_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.c_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.d_c_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "p_e.I", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.E_I", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.e_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "p_e.E_d_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "p_e.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e.l_o_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.m_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e.p_v_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_D_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_I_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_6", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_8", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.Q_M_S_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e.r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.R", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_A_B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_F", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_I", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_M_S", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_N", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_P", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_S", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e_s.S_P", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.w_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.s_I_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.s_I_2", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.s_I_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.s_I_4", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.s_I_5", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.S", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.t_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_e.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_s.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_s.m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_s.m_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_s.n_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_s.n_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_s.p_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_s.p_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_s.r_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_s.s_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_s.t_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_s.t_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_s.t_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "o_s._f_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "o_s.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "o_s.a_r_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.e_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.e_q_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.f_r_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.i_f_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.i_i_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.q_e_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_c_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_s.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_s.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_s.h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.i_s_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "o_s.i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "o_s.l_o_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_s.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_s.s_r_m_", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.s_r_s_", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "o_s.t_t_f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.w_t_s_w_s_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.w_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "o_s.w_t_t_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "o_s.w_t_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "o_s.w_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.a_a_i_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.a_a_i_c_w_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.b_m_2_e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.b_s_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.b_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.c_b_v_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.r_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.r_l_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.c_e_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.d_f_a_c_t_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.d_f_l_d_d_t_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.d_f_l_r_d_d_t_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.d_c_2_0_2_e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_e.e_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.f_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.h_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.I_D_T_A_O_C", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.m_i_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.i_h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_e.i_d_t_a_o_c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.l_d_d_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.l_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_r_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_s_d_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_e.l_c_e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.m_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.m_f_a_c_t_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.N_P", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.p_e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.r_i_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.r_t_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.s_i_m_e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_e.w_n_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_e.w_v_n_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_e.w_f_a_c_t_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.y_f_a_c_t_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a._e_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a._f_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a._l_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.g_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.i_g_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.k", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_a_g_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_v_f.n_s_o_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_a.p_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_v_f.s_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_a.s_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.e_i_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_v_f.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_v_f.v_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_v_f.v_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_f_l.a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_f_l.d_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.f_p_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.g_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.s_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.t_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_f_l.u_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_l.g_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_l.l_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_l.l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_p.g_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_p.p_f_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_p.p_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g._e_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_g._f_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g._l_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_g.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.c_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_g.d_s_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.d_s_l_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.d_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_n_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_d_l_b_5_a_1_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_l_v_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_p_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_g.g_s_h_a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_g.g_t_i_3_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_g.g_t_l_b_2_a_8_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_g.g_u_i_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_g.g_v_i_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_g.i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_g.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_g.t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_g.t_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.u_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u_a.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u_a.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u_a.c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u_a.i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u_a.u_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u_a.u_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u._e_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_u._f_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u._l_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_u.a_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_u.a_e_s_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.a_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.a_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_u.a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.a_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.c_b_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_u.c_b_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_d.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.c_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_d.c_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.c_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_u.c_a_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_u.c_p_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.g_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u.i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.i_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_u.i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_d.l_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.l_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_d.m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.m_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u.n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.p_t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.p_a_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.p_f_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.p_l_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.r_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_u.s_i_c_b_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_d.t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "s_a_d.t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_d.t_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.b_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.h_a_g_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_c.c_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_c.p_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_c.s_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_c.s_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_c.t_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_c.t_n_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_c.t_c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_c.t_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_c.t_f_s_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_c.w_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_c_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_c_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_c_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_m_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_a_i_y_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.d_g_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_l_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.o_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t_z", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_a.z_u_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_q.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.g_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.g_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.g_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_a_q.m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_a_q.o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.q_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_a_q.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.C_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.c_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.d_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.e_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.f_s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_a_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_r_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_s_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.v_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_b_f_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_a_s_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_h_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_h_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_t_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_w_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_o", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.e_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.e_q_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "f_t_o_q.f_t_o_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_s_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.f_a_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_t_o_q.i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.i_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.l_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.l_s_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.m_c_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_a_a_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_e_q_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.n_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_a_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_e_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_e_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_q_e_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_e_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.q_h_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_a_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_e_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_a_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_t_a_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_t_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.u_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_u_s_t_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.a_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_r_b_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_r_b_r_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.i_n_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.p_c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.z_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_f_p_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.b_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.b_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_n_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_d_t_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_d_t_f_s_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_i_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_c_1", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_c_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_i_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_i_c_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_d_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_q_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.g_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.h_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.h_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_q_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_w_3_d_o_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_w_3_d_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_c_f_i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.i_w_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_i_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_d_a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_h_d_i_l_3_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_t_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.n_o_b_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.o_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.o_f_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_c_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.r_r_i_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.r_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.r_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.r_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_second" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_second" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_i_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_c_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_n_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_s_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_p_d_n_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_c_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_t_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_t_s_w_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_t_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.u_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.v_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.t_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.t_t_s_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.t_t_s_w_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_d_o_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_d_o_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_d_o_w_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_d_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_h", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_h_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_m_n", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_q", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_q_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_t_o_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_w_o_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_y", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.u_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "t_a_d.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "t_a_d.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "t_a_d.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "t_a_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "t_a_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u_a.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u_a.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.a_w_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.c_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.c_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.d_c_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.e_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.e_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.e_g_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "p_u.e_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e_l_u_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e_m_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.e_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "p_u.e_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.e_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.e_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "p_u.e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.i_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.l_o_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.m_s_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "p_u.p_v_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.q_m_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.q_w_m_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.s_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.s_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.s_m_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.s_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "p_u.s_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_w_m_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_w_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_w_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u_a.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.t_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "p_u.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_d.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_d.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_d.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_d.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "a_d.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "u_c_c_r_m.c_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "u_c_c_r_m.c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "u_c_c_r_m.f_s_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "u_c_c_r_m.m_e_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "u_c_c_r_m.m_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date" + }, + { + "nullable": false, + "fieldPath": "u_c_c_r_m.u_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "u_c_c_r_m.q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_c_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_f_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_l_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_z_a.a_t_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "c_z_a.a_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_z_a.B", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_m_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_s_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.h_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.h_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.i_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.i_s_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "c_z_a.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.p_k", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.q_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s_g_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s_g_o_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s_o_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.t_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_z_a.u_l_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.z_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_z_a.z_u_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f.e_t_t_l_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f.e_z_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f.h_v_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f.l_c_t_f_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f.o_t_a_i_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f.s_a_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f.t_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_g_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.f_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_g_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.i_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_P_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_u_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.n_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_u_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.q_e_a_i_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_P_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_second" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.q_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.u_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.w_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.w_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.w_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.z_f_m_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_f_p_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.b_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.b_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_n_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_d_t_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.c_d_t_f_s_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_i_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.c_r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.d_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "z_t.d_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_day" + }, + { + "nullable": false, + "fieldPath": "z_t.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_c_1", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_c_2", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_i_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_i_c_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.d_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.d_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.e_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_d_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_q_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_c_r_1_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_c_r_2_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_c_r_3_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_c_r_4_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_c_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_c_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.g_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.h_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.h_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_hour" + }, + { + "nullable": false, + "fieldPath": "i_t.a_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.i_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.i_q_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.i_w_3_d_o_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.i_w_3_d_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.i_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.i_c_f_i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.i_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.i_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.i_w_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.l_a_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.l_i_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_s_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.l_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.m_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.m_t_a_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.m_t_a_i_d_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_t.m_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.m_t_a_i_m_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_t.m_t_t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.m_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.m_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.m_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.n_o_b_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.o_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.o_f_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.p_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.p_c_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.r_r_i_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.r_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.r_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.r_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.r_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.s_t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_second" + }, + { + "nullable": false, + "fieldPath": "z_t.s_t_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "duration_second" + }, + { + "nullable": false, + "fieldPath": "z_t.s_i_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_f_s_u_2.s_u_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_c_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_n_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_s_d_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.s_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.t_p_d_n_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.t_c_d_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.t_f_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.t_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.t_i", + "description": "", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.t_t_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.t_t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.t_t_s_w_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.t_t_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NullType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute30" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_t.u_a_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_t.v_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_t.w_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_r_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_f_r_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_r_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.b_w_t_h_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.b_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.b_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.f_t_t_r_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_i", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_i_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.q_b_t_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.q_b_t_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.q_b_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.r_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_e_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_r_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_s_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_s_q_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_s_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_s_q_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_e_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_r_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_date" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_d_o_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_d_o_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_d_o_w_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_week_index" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_d_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_day_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_h_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_hour_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_minute" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_name" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_m_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_month_num" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_q_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "date_quarter_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_t_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_time_of_day" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_w_o_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "date_week_of_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_s_t_y", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + }, + { + "tag": "urn:li:tag:Temporal" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.DateType": {} + } + }, + "recursive": false, + "nativeDataType": "date_year" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_i", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_f_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_f_r_h_b", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.i_t_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_r_m_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.EnumType": {} + } + }, + "recursive": false, + "nativeDataType": "tier" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.t_t_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.w_t_s_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "s_n.d_t_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.d_t_b_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.d_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.d_t_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.d_t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.d_t_u_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.f_o_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_b_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_u_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_b_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "s_n.p_t_u_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_n.r_n_u", + "description": " ", + "isPartOfKey": true, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Dimension" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.a_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.a_c_p_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.a_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.a_m_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.b_e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "b_h.b_h_i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.b_s_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.c_w_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.c_w_t_r_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.c_w_t_r_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.d_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_q_t_a_c_q_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.f_q_t_a_c_q_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_t_a_c_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_r_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.i_c_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_h.i_h_i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.m_c_w_3_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.p_c_l_t_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.q_r_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_a_r_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_b_s_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_c_w_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_c_w_t_n_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_c_s_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_e_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_f_q_t_a_c_q_m_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_i_c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_i_i_c_r_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_i_i_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_i_a_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_i_c_t_a_c_m_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_l_c_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_v_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i_c.t_w_l_c_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_i.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_e.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r_n_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r_f_c_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r_f_c_r_m_a_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r_f_c_r_a_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r_f_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r_f_s_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.a_q_m_r_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.c_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.c_r_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.c_r_m_r_u_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.c_r_m_r_u_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.c_r_m_r_u_c_n_s_m_o_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.k_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.o_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.p_r_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.s_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.q_t_f_o_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.q_t_f_c_r_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.q_t_f_c_r_a_o_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.q_t_f_c_r_a_s_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.q_t_f_s_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.u_q_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.u_c_f_u_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.u_c_r_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.u_c_a_q_r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_b_v_m.u_c_a_q_r_a_f_s_m_o_o_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.A_N_D_A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.A_Q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.A_n_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.a_t_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.a_t_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.P_A_G_o_T", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_A_G_w_1_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_A_G_w_2_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_G_G_o_T", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_G_G_w_1_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_G_G_w_2_w_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_I_A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_T_A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_T_G", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_T_I", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.P_V_A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "n_p.t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.t_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.t_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "n_p.t_i_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.t_r_1_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.t_r_2_w", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.t_v_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "n_p.t_o_t_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.e_r_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.p_r_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.r_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_r_w_c.t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "7_n_e_a_a.s_p_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "a_a_d_g_d.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "c_r_c.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_a_c_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_a_c_w_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_h_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_h_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_h_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_h_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_t_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.a_t_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.c_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_l.d_c_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_l.i_d_c_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_l.t_h_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "f_c_l.w_t_i_q_7_p_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "f_c_l.w_t_i_q_8_p_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "f_c_l.w_t_i_q_9_p_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "f_c_l.w_t_i_q_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_l.w_t_i_q_m_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "i_s_g.a_p_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.a_p_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.a_p_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.a_p_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.a_m_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_a_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_a_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_a_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_a_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_c_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_v_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_f_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_f_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_f_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_f_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_m_i_r_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_m_i_r_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_m_i_r_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_m_i_r_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_u_a_l_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_u_a_l_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_u_a_l_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.m_u_a_l_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_c_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_c_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_s_g.p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_s_g.t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_r_t.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_r_t.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_r_t.t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_c_r.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "c_m_e.t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_i.c_t_i", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_m_d.a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "c_m_d.b_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_i_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_i_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.c_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_m_d.e_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "median" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_s_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "median" + }, + { + "nullable": false, + "fieldPath": "c_m_d.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_m_d.p_u_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.r_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_m_d.s_i_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_c_t.a_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_a_i_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "c_c_t.t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "c_f.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.e_p_m_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.h_r_m_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.m_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.s_l_m_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "o_c_s_c.s_b_m_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "d_z.d_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "d_r_r.d_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "d_r_r.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "d_r_r.r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "d_z.t_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "e.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "e.u_u", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.c_c_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.c_c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_f.d_q_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.d_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_f.f_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_f.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.i_a_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.i_a_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_f.m_e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.m_e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_f.s_t_i_5_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_f.s_t_i_5_d_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_t_t.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.a_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_a_p_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_f_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.c_p_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.f_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.f_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_A", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.m_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.n_t_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.n_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.p_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.p_p_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.t_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_c_b_p.t_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_c_r.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "m_i_e.c_w_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_e.i_a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_e.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_e.i_e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_e.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_e.t_i_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "m_i_e.t_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.TimeType": {} + } + }, + "recursive": false, + "nativeDataType": "date_raw" + }, + { + "nullable": false, + "fieldPath": "i_t.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_t_c_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_d_t_i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_r_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_t_t_a_i_h_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_t_t_a_i_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "i_d_t.a_t_t_a_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "i_d_t.C_i_2_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.C_i_2_d_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c_w_2_p_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.d_c_e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_i_2_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.i_d_i_2_d_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "i_d_t.o_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.r_p_t_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.s_d_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "i_d_t.u_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.a_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_p_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.a_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_c.a_m_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_c.b_e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.b_s_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.c_w_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.c_w_t_r_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.c_w_t_r_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.d_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.f_q_t_a_c_q_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.f_q_t_a_c_q_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_t_a_c_m_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_r_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.i_i_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.i_c_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.m_c_w_3_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.p_c_l_t_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.q_r_a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c.t_a_r_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_b_s_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_c_w_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_c_w_t_n_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_c_s_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_e_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_f_q_t_a_c_q_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_f_q_t_a_c_q_m_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_i_c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_i_i_c_r_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_i_i_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_i_a_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_i_c_t_a_c_m_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_c.t_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_l_c_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_v_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c.t_w_l_c_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_s_d.a_e_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_s_d.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.c_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.C_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.C_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.C_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.C_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.C_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.C_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.e_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.e_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.e_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.e_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.i_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.l_c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.l_c_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.l_c_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.l_c_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.p_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.p_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.p_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.p_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.S_r_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.t_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.v_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.v_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.v_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_s_d.v_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_s_d.s_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.a_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_l_f.a_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_l_f.d_o", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_f", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_p_o", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.l_c_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_l_f.r_i_r_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_d_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_o_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_p_e", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_p_s_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.t_p_s_d_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_l_f.u_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_l_f.w_a_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_m_d.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.c_r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c_c_r.d_c_r_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_l_c_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_h_t_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_h_t_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_t_a_s_w_f_m_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_t_m_s_w_f_a_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_t_s_i_w_u_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_c_s.a_w_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.h_p_a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.i_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.l_c_a_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.n_a_c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "l_c_s.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_n_o_a_m_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_n_o_a_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_n_o_h_m_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_n_o_h_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_n_o_m_m_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_n_o_m_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_n_o_m_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_t_t_a_s_w_f_m_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.s_t_t_m_s_w_f_a_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_s_i_w_u_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_n_o_m_m_w_s_a_a_j", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_n_o_m_m_w_s_a_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_t_s_i_i_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_t_s_i_q_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "l_c_s.t_t_s_i_w_u_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "l_c_s.w_t_i_q_m_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_m.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_m.m_u_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_m.r_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.s_p_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_m_u.u_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_d_f_l_s_t_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_e_c_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_i_c_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_m_c_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_b_s.a_t_o_t_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_b_s.D_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_b_s.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.m_u_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.n_f_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.p_r_w_o_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.p_r_w_s_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.p_o_s_i_r_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_s_i_c_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_w_o_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_w_s_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.s_w_i_r_h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_b_s.t_r_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m.a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "m.b_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.c_i_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.c_i_t_r", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.c_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m.e_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.m_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "median" + }, + { + "nullable": false, + "fieldPath": "m.m_s_l", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "median" + }, + { + "nullable": false, + "fieldPath": "m.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m.p_u_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.r_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.s_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m.s_i_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_m_b_p_s_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_m_b_p_s_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "max" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_i_p_m_b_p_s_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "min" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_t_i_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.a_t_i_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.c_i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.i_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.o_i_n_a_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_i_c.t_t_i_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "o_m_s.a_c_m_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "o_m_s.a_c_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "o_m_s.a_r_l_9_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "o_m_s.u_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_1_t_7", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_1_t_9", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_6_t_3", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_l_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_l_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "q_n_n.n_s_c_l_q", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_p_d.a_p_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "s_p_d.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "p_e.a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "p_e.a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "p_e.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "p_e_s.c_e_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "p_e.q_p_r_b_l_c_t_b", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_e.q_p_r_b_l_c_t_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "p_e.t_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "s_s.a_n_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_s.a_n_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_s.A_p_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_s.a_p_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_s.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "s_s.m_p_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.a_f_r_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.a_f_r_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.a_f_r_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.s_e_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.s_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_q_f_r_t.s_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "o_s.m_w_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "o_s.n_s_a_c_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.p_w_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "o_s.p_w_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "o_s.p_w_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "o_s.p_w_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "o_s.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "o_s.u_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_e.h_c_e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_e.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_e.p_o_e_w_h_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_e.r_e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "running_total" + }, + { + "nullable": false, + "fieldPath": "s_e.r_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "running_total" + }, + { + "nullable": false, + "fieldPath": "s_a_a.a_p_v_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_a_a.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_v_f.n_s_s_o_v_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_v_f.s_s_o_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_v_f.s_v_o_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_v_f.s_v_a_s_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t_s_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_s_u.t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_a_a.t_v_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_f_l.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count" + }, + { + "nullable": false, + "fieldPath": "s_f_l.f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_f_l.t_f", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_f_l.t_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_f_l.t_n", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_f_l.t_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_g_c_n_e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_g_d_l_b_5_a_1_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_g_s_h_a_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_g_t_i_3_o_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_g_t_l_b_2_a_8_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_g_u_i_l_9_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_g_v_i_l_9_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.f_u_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_g.s_c_h_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_g.t_f_g", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_u_a.a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_u_a.t_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "s_u_a.t_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "s_u_a.t_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "s_u_a.t_c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "s_u_a.t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.a_g_b_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.a_g_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.a_g_b_p_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_g_b.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_c.c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_c.s_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_c.s_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_c.s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_c.t_c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_c.t_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_c.t_c_p_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.s_p_a", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_a.u_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_a_q.c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.a_e_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.c_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.c_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.C_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.C_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.C_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.C_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.C_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.C_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.e_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.e_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.e_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.e_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.i_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.l_c_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.l_c_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.l_c_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.l_c_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.p_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.p_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.p_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.p_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_c_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.S_r_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.t_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.v_a_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.v_a_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.v_a_s_r_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.v_a_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "s_d_s_m.s_g", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_h_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_a_w_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_t_a_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_t_a_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_t_a_w_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_t_h_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_t_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_t_t_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_w_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.e_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.e_u_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.e_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_p_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.s_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.a_l_u_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_t_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_a_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_a_h_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_a_h_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_a_t_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_a_w_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_f_t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_n_f_t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_p_a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_t_u_w_f_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_i_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_u_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_b_a_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_b_a_p_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.u_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.u_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.w_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_a_h.t_s_a_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.a_a_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.f_c_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.i_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.i_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.m_c_r_b_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.p_a_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.p_c_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.t_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.t_u_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.t_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.t_a_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "m_s_z_t_c.w_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_c_p_o_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_c_t_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_w_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_c_d_t_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_f_d_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_h_t_i_m_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_s_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_f_r_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.a_m_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.c_f_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.d_m_a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.e_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.e_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_c_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.l_c_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.p_r_i_1_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_p_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_o_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_o_t_t_s_w_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.s_o_t_t_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_v_l_w_v_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_f_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.t_s_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.v_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.v_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_t_e", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.BooleanType": {} + } + }, + "recursive": false, + "nativeDataType": "yesno" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_l_c_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_a_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_c_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_r_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_t_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_f_h_o_s.w_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.s_o_t_t_s_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "t_t_s_l_u_h.s_o_t_t_s_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "p_u.a_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.a_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.a_s_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.a_e_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "p_u.a_e_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.a_q_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average_distinct" + }, + { + "nullable": false, + "fieldPath": "p_u.c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "p_u.e_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.c_e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "p_u.q_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_p_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.s_p_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "p_u.t_e_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "p_u.t_s_m_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "p_u.t_s_p", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_w_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_v_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_c_w_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_c_w_t_s_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_c_w_t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_h_t_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_m_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.StringType": {} + } + }, + "recursive": false, + "nativeDataType": "string" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_h_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_s_o_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_t_s_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.c_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.d_c_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.h_t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.h_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.i_s_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.i_d_c_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.n_a_c_v", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s_a_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.t_t_s_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.t_h_t", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum_distinct" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.t_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.a_t_h_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.v_a_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.w_t_i_q_7_p_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.w_t_i_q_8_p_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.w_t_i_q_9_p_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.w_t_i_q_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "f_c_a_s.w_t_i_q_m_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.a_t_r_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.a_t_r_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.a_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.a_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.a_g_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.e_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.e_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.t_t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.t_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t_g_h.v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.l_c_p_o_a_v", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.l_c_t_l", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.a_w_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.a_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.a_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.a_c_d_t_f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t.a_f_d_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t.a_h_t_i_m_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.a_s_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t.a_f_r_t_d", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.a_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.a_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.a_m_t_a_i_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t.c_f_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.d_i_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.d_m_a_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t.e_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.e_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.f_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.l_c_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.l_c_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.m_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.m_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.p_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.p_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.p_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.p_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.p_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.p_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.p_r_i_1_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t_d_d.p_r_w_d_d", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.s_p_d_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.s_f_r_t_m", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.s_o_f_r_t_s", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.s_o_t_t_s_w_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t.s_o_t_t_s_w_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_a_l_u", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_l_u_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_a_h_p", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_t.t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.t_v_l_w_v_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.t_f_o", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.t_s_p_a", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "sum" + }, + { + "nullable": false, + "fieldPath": "z_t.v_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.v_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.w_l_c_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.w_a_r_i_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.w_r_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.w_r_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.w_s_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.w_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_t.w_t_b_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_t.w_t_c", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_b_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_q_b_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_q_b_t_t_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_q_b_t_t_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_q_b_t_t_t_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_f_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_f_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_i_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_s_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_s_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_t_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_t_t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "average" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.a_p_t", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.c_f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.c_f_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.c_s_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.c_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_t_f_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_t_f_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_t_r", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.m_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "median" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "median" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "median" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_b_w_t_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_f_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_m", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_r_s", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.p_t_t_t_h", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "percentile" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.q_b_s_a_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.q_b_s_c_a_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_1_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_1_r_w_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_2_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_3_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_4_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_a_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "number" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_c_a_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_c_f_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_c_f_r_w_1", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_c_f_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_c_s_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.s_c_t_r_w", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.u_m_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "z_w_r_t.u_t_c", + "description": " ", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + }, + { + "nullable": false, + "fieldPath": "last_of.6800_cols", + "description": "", + "isPartOfKey": false, + "label": " ", + "globalTags": { + "tags": [ + { + "tag": "urn:li:tag:Measure" + } + ] + }, + "type": { + "type": { + "com.linkedin.schema.NumberType": {} + } + }, + "recursive": false, + "nativeDataType": "count_distinct" + } + ], + "schemaName": "test-large-schema", + "version": 0, + "hash": "", + "platform": "urn:li:dataPlatform:looker" + } + } + ] + } + }, + "proposedDelta": null + } +] \ No newline at end of file diff --git a/smoke-test/tests/schema_fields/test_schemafields.py b/smoke-test/tests/schema_fields/test_schemafields.py new file mode 100644 index 00000000000000..cd282db81ff722 --- /dev/null +++ b/smoke-test/tests/schema_fields/test_schemafields.py @@ -0,0 +1,174 @@ +import logging +import os +import tempfile +import time +from random import randint + +import datahub.metadata.schema_classes as models +import pytest +from datahub.emitter.mce_builder import make_dataset_urn, make_schema_field_urn +from datahub.emitter.mcp import MetadataChangeProposalWrapper +from datahub.ingestion.api.common import PipelineContext, RecordEnvelope +from datahub.ingestion.api.sink import NoopWriteCallback +from datahub.ingestion.graph.client import DatahubClientConfig, DataHubGraph +from datahub.ingestion.sink.file import FileSink, FileSinkConfig + +from tests.utils import ( + delete_urns_from_file, + get_gms_url, + get_sleep_info, + ingest_file_via_rest, + wait_for_writes_to_sync, +) + +logger = logging.getLogger(__name__) + + +start_index = randint(10, 10000) +dataset_urns = [ + make_dataset_urn("snowflake", f"table_foo_{i}") + for i in range(start_index, start_index + 10) +] + + +class FileEmitter: + def __init__(self, filename: str) -> None: + self.sink: FileSink = FileSink( + ctx=PipelineContext(run_id="create_test_data"), + config=FileSinkConfig(filename=filename), + ) + + def emit(self, event): + self.sink.write_record_async( + record_envelope=RecordEnvelope(record=event, metadata={}), + write_callback=NoopWriteCallback(), + ) + + def close(self): + self.sink.close() + + +@pytest.fixture(scope="module") +def chart_urn(): + return "urn:li:chart:(looker,chart_foo)" + + +@pytest.fixture(scope="module") +def upstream_schema_field_urn(): + return make_schema_field_urn(make_dataset_urn("snowflake", "table_bar"), "field1") + + +def create_test_data(filename: str, chart_urn: str, upstream_schema_field_urn: str): + documentation_mcp = MetadataChangeProposalWrapper( + entityUrn=upstream_schema_field_urn, + aspect=models.DocumentationClass( + documentations=[ + models.DocumentationAssociationClass( + documentation="test documentation", + attribution=models.MetadataAttributionClass( + time=int(time.time() * 1000), + actor="urn:li:corpuser:datahub", + source="urn:li:dataHubAction:documentation_propagation", + ), + ) + ] + ), + ) + + input_fields_mcp = MetadataChangeProposalWrapper( + entityUrn=chart_urn, + aspect=models.InputFieldsClass( + fields=[ + models.InputFieldClass( + schemaFieldUrn=upstream_schema_field_urn, + schemaField=models.SchemaFieldClass( + fieldPath="field1", + type=models.SchemaFieldDataTypeClass(models.StringTypeClass()), + nativeDataType="STRING", + ), + ) + ] + ), + ) + + file_emitter = FileEmitter(filename) + for mcps in [documentation_mcp, input_fields_mcp]: + file_emitter.emit(mcps) + + file_emitter.close() + + +sleep_sec, sleep_times = get_sleep_info() + + +@pytest.fixture(scope="module", autouse=False) +def ingest_cleanup_data(request, chart_urn, upstream_schema_field_urn): + new_file, filename = tempfile.mkstemp(suffix=".json") + try: + create_test_data(filename, chart_urn, upstream_schema_field_urn) + print("ingesting schema fields test data") + ingest_file_via_rest(filename) + yield + print("removing schema fields test data") + delete_urns_from_file(filename) + wait_for_writes_to_sync() + finally: + os.remove(filename) + + +@pytest.mark.dependency() +def test_healthchecks(wait_for_healthchecks): + # Call to wait_for_healthchecks fixture will do the actual functionality. + pass + + +def get_gql_query(filename: str) -> str: + with open(filename) as fp: + return fp.read() + + +def validate_schema_field_urn_for_chart( + graph: DataHubGraph, chart_urn: str, upstream_schema_field_urn: str +) -> None: + # Validate listing + result = graph.execute_graphql( + get_gql_query("tests/schema_fields/queries/get_chart_field.gql"), + {"urn": chart_urn}, + ) + assert "chart" in result + assert "inputFields" in result["chart"] + assert len(result["chart"]["inputFields"]["fields"]) == 1 + assert ( + result["chart"]["inputFields"]["fields"][0]["schemaField"]["schemaFieldEntity"][ + "urn" + ] + == upstream_schema_field_urn + ) + assert ( + result["chart"]["inputFields"]["fields"][0]["schemaField"]["schemaFieldEntity"][ + "fieldPath" + ] + == "field1" + ) + assert ( + result["chart"]["inputFields"]["fields"][0]["schemaFieldUrn"] + == upstream_schema_field_urn + ) + assert ( + result["chart"]["inputFields"]["fields"][0]["schemaField"]["schemaFieldEntity"][ + "documentation" + ]["documentations"][0]["documentation"] + == "test documentation" + ) + + +# @tenacity.retry( +# stop=tenacity.stop_after_attempt(sleep_times), wait=tenacity.wait_fixed(sleep_sec) +# ) +@pytest.mark.dependency(depends=["test_healthchecks"]) +def test_schema_field_gql_mapper_for_charts( + ingest_cleanup_data, chart_urn, upstream_schema_field_urn +): + graph: DataHubGraph = DataHubGraph(config=DatahubClientConfig(server=get_gms_url())) + + validate_schema_field_urn_for_chart(graph, chart_urn, upstream_schema_field_urn) diff --git a/smoke-test/tests/structured_properties/test_structured_properties.py b/smoke-test/tests/structured_properties/test_structured_properties.py index bf1b5b1292750f..f2327a13df6d00 100644 --- a/smoke-test/tests/structured_properties/test_structured_properties.py +++ b/smoke-test/tests/structured_properties/test_structured_properties.py @@ -119,9 +119,11 @@ def create_property_definition( qualifiedName=f"{namespace}.{property_name}", valueType=Urn.make_data_type_urn(value_type), description="The retention policy for the dataset", - entityTypes=[Urn.make_entity_type_urn(e) for e in entity_types] - if entity_types - else [Urn.make_entity_type_urn("dataset")], + entityTypes=( + [Urn.make_entity_type_urn(e) for e in entity_types] + if entity_types + else [Urn.make_entity_type_urn("dataset")] + ), cardinality=cardinality, allowedValues=allowed_values, ) @@ -137,7 +139,7 @@ def create_property_definition( def attach_property_to_entity( urn: str, property_name: str, - property_value: Union[str, float, List[str | float]], + property_value: Union[str, float, List[Union[str, float]]], graph: DataHubGraph, namespace: str = default_namespace, ): diff --git a/smoke-test/tests/utils.py b/smoke-test/tests/utils.py index 0895056fe3dddf..7564f1a05e79e0 100644 --- a/smoke-test/tests/utils.py +++ b/smoke-test/tests/utils.py @@ -23,7 +23,7 @@ def get_frontend_session(): def login_as(username: str, password: str): - return cli_utils.get_session_login_as( + return cli_utils.get_frontend_session_login_as( username=username, password=password, frontend_url=get_frontend_url() )