连接到印度生物技术部核心

请注意

本文介绍印度生物技术部核心,印度生物技术部的一个版本为当地发展机器与砖SQL的仓库和砖砖内集群的工作区。印度生物技术部的托管版本(称为使用印度生物技术部的云)相反,或使用合作伙伴连接快速创建一个SQL仓库在您的工作区,然后连接到印度生物技术部云,看到的连接到印度生物技术部云

印度生物技术部(数据构建工具)是一个开发环境,使数据分析师和数据工程师将数据通过简单的select语句。印度生物技术部处理这些select语句表和视图。印度生物技术部将代码编译为原始SQL,然后运行该代码指定的数据库中数据砖。印度生物技术部支持协作编码模式和最佳实践,如版本控制、文档、模块化等。

印度生物技术部不提取或加载数据。印度生物技术部只专注于转换步骤,使用“转换后加载”架构。印度生物技术部假设您已经有一个复制数据库中的数据。

本文主要关注使用印度生物技术部核心。印度生物技术部核心使您能够编写印度生物技术部代码在您所选的文本编辑器或IDE本地开发机器上,然后从命令行运行印度生物技术部。印度生物技术部核心包括印度生物技术部命令行接口(CLI)。的印度生物技术部CLI是免费使用的,bob下载地址

印度生物技术部的托管版本称为印度生物技术部云也可以。印度生物技术部云配有交钥匙支持调度工作,CI / CD,服务文档,监控和警报,以及一个集成开发环境(IDE)。有关更多信息,请参见连接到印度生物技术部云。印度生物技术部云开发者计划提供了一个免费的开发者座位;团队和企业也可以支付计划。有关更多信息,请参见印度生物技术部的定价印度生物技术部的网站上。

因为印度生物技术部核心和印度生物技术部云可以使用托管git存储库(例如,在GitHub, GitLab或BitBucket都),您可以使用印度生物技术部核心创建一个印度生物技术部项目,然后把它提供给印度生物技术部云用户。有关更多信息,请参见创建一个印度生物技术部项目使用现有的项目印度生物技术部的网站上。

印度生物技术部的一般概述,请看下面的YouTube视频(26分钟)。

需求

印度生物技术部核心安装之前,您必须安装以下本地开发机器上:

  • Python3.7或更高版本

  • 一个实用程序来创建虚拟环境(如Pythonpipenv)

你还需要验证下列之一:

  • _(推荐)。

  • 个人访问令牌。

    请注意

    安全最佳实践,当您使用自动化工具进行身份验证,系统中,脚本和应用程序,砖属于建议您使用个人访问令牌服务主体而不是用户工作区。为服务主体,创建令牌服务主体的管理令牌

  • 客户机ID和一个客户的秘密。您可以检索这些值管理设置>服务主体

步骤1:创建并激活一个Python虚拟环境

在这个步骤中,您使用pipenv创建一个Python虚拟环境。我们建议使用Python虚拟环境作为它隔离包版本和代码依赖特定的环境,无论包版本和代码依赖项在其他环境。这有助于减少意外包版本不匹配和代码依赖碰撞。

  1. 从您的终端,切换到一个空目录,在必要时创建该目录的第一个。这个程序创建一个空目录命名dbt_demo在用户的主目录的根源。

    mkdir ~ / dbt_democd~ / dbt_demo
    mkdir % USERPROFILE %\ dbt_democd% USERPROFILE %\ dbt_demo
  2. 在这个空目录中,创建一个文件命名Pipfile用下面的内容。这Pipfile指示pipenv使用Python版本3.8.6。如果你使用一个不同的版本,取代3.8.6你的版本号。

    [[源]]url = " https://pypi.org/simple " verify_ssl = true name = " pypi "(包)dbt-databricks =“*”[要求]python_version =“3.8.6”

    请注意

    前面的行dbt-databricks=“*”指示pipenv使用最新版本的dbt-databricks包中。在生产场景中,你应该更换*包的特定版本,你想使用。看到dbt-databricks版本历史在Python包指数(PyPI)的网站。

  3. 在这个目录中创建一个Python虚拟环境通过运行pipenv并指定要使用的Python版本。这个命令指定3.8.6 Python版本。如果你使用一个不同的版本,取代3.8.6用你的版本号:

    python pipenv——3.8.6
  4. 印度生物技术部砖安装适配器通过运行pipenv安装选择。这在你的安装包Pipfile,其中包括印度生物技术部砖适配器包,dbt-databricks,从PyPI。印度生物技术部砖适配器包自动安装印度生物技术部核心和其他依赖项。

    重要的

    如果您的本地开发机器使用下列操作系统,你必须先完成其他步骤:CentOS, MacOS, Ubuntu, Debian和Windows。看到“我的操作系统有先决条件”部分使用pip安装印度生物技术部印度生物技术部实验室网站上。

    pipenv安装
  5. 激活这个虚拟环境通过运行pipenv壳牌。确认激活终端显示器(dbt_demo)前的提示。虚拟环境中开始使用指定的版本的Python和隔离包版本和所有代码依赖项在这个新的环境。

    pipenv壳

    请注意

    禁用这个虚拟环境,运行退出(dbt_demo)从之前提示消失。如果你运行python——版本皮普列表与这个虚拟环境时,你可能会看到一个不同的Python版本,不同的可用包或包版本的列表,或两者兼而有之。

  6. 确认您的虚拟环境中运行的预期的Python版本运行python——版本选择。

    python的版本

    如果一个意想不到的版本的Python显示,确保你有激活你的虚拟环境中运行pipenv壳牌

  7. 确认您的虚拟环境中运行的预期版本的印度生物技术部和印度生物技术部砖适配器通过运行印度生物技术部——版本选择。

    印度生物技术部——版本

    如果一个意想不到的版本的印度生物技术部或印度生物技术部砖适配器显示,确保你有激活你的虚拟环境中运行pipenv壳牌。如果一个意想不到的版本仍然显示,再次尝试安装印度生物技术部或印度生物技术部砖适配器在您激活您的虚拟环境。

步骤2:创建一个印度生物技术部项目并指定和测试连接设置

在这个步骤中,您创建一个印度生物技术部项目,这是一个收集相关的目录和文件,必须使用印度生物技术部。然后配置您的连接配置文件砖,其中包含连接设置集群,一个SQL仓库,或两者兼而有之。增加安全,印度生物技术部项目和默认概要文件存储在单独的位置。

提示

您可以连接到一个现有的集群或SQL仓库,或者您可以创建一个新的。

  • 现有的集群或SQL仓库可以为多个印度生物技术部项目高效、使用印度生物技术部在一个团队中,或开发的用例。

  • 新的集群或SQL仓库允许您运行一个印度生物技术部项目单独生产的用例,以及利用自动终止,印度生物技术部项目没有运行时节省成本。

使用砖来创建一个新的集群或SQL仓库,然后引用新创建的或现有的集群或SQL仓库从印度生物技术部概要文件。

  1. 与虚拟环境仍然激活,运行印度生物技术部init命令一个名称为您的项目。这个程序创建一个项目my_dbt_demo

    印度生物技术部init my_dbt_demo
  2. 当您被提示选择一个火花数据库,输入对应的数字

  3. 当提示输入主机值,请执行以下操作:

    • 一个集群,进入服务器主机名价值的高级选项,JDBC / ODBC集群选项卡为你的砖。

    • 对于SQL仓库,进入服务器主机名价值的连接细节为你的SQL选项卡仓库。

  4. 当提示输入一个http_path值,请执行以下操作:

  5. 选择身份验证类型,输入对应的数字使用oauth(推荐)或使用访问令牌

  6. 如果你选择使用访问令牌为你的验证类型,输入你的砖的价值个人访问令牌

    请注意

    安全最佳实践,当您使用自动化工具进行身份验证,系统中,脚本和应用程序,砖属于建议您使用个人访问令牌服务主体而不是用户工作区。为服务主体,创建令牌服务主体的管理令牌

  7. 当提示输入想要的团结目录选项值,输入对应的数字使用团结目录使用团结目录

  8. 如果你选择使用统一目录,输入所需的值目录当提示。

  9. 输入所需的值模式线程当提示。

  10. 印度生物技术部写你的条目profiles.yml文件。这个文件的位置的输出中列出印度生物技术部初始化命令。您还可以列出这个位置后,通过运行印度生物技术部调试——config-dir命令。你现在可以打开这个文件,审核其内容。

  11. 进行身份验证使用OAuth秘密,添加以下行来profiles.yml文件:

    <客户端- - - - - -ID>:<客户端- - - - - -秘密>

    砖不建议指定的秘密profiles.yml直接。相反,客户机ID和客户秘密设置为环境变量。

  12. 确认连接细节是正确的印度生物技术部调试命令。

    如果你选择使用oauth你的验证类型,你与你的身份提供商提示登录。

    重要的

    在您开始之前,验证您的集群或SQL仓库正在运行。

    应该会看到类似于下面的输出:

    印度生物技术部调试
    配置:profiles.ymlfile [OK found and valid]dbt_project。yml文件(好的发现和有效)所需的依赖项:git -(可以发现)连接:连接测试:好的连接好

下一个步骤