介绍
GitHub Copilot是由GitHub与OpenAI合作开发的人工智能驱动代码补全助手,利用了ChatGPT模型。它的设计目标是帮助开发人员在加快编码过程的同时尽量减少错误。底层模型是在GitHub自己的代码库中以及公开可用的代码的基础上进行训练的,使其具备了广泛的编程范式理解能力。
另一方面,Databricks是由Apache Spark的原始创作者创建的开放式分析和基于云的平台,它使组织能够无缝地构建数据分析和机器学习流水线,从而加快创新。此外,它促进用户之间的协作工作。
将GitHub Copilot与Databricks集成,能够使数据分析和机器学习工程师高效地部署解决方案,并且节省时间。此集成有助于更顺畅的代码开发,提高代码质量和标准化程度,提升跨语言效率,加快原型开发,并有助于文档编写,从而提高工程师的生产力和效率。
GitHub Copilot和Databricks集成的先决条件:
必须拥有Databricks帐户,可以在这里进行设置。
下载并安装Visual Studio Code。
集成步骤
在Visual Studio Code Marketplace中安装Databricks插件。
在Visual Studio Code中配置Databricks插件。如果您以前使用过Databricks CLI,则会在本地的databrickscfg文件中为您预先配置。如果没有,请在 ~/.databrickscfg 文件中创建以下内容。
[DEFAULT]host = https://xxxtoken = <token>jobs-api-version = 2.0
点击“配置Databricks”选项,然后选择上一步配置中设置的主机名,继续选择“DEFAULT”配置文件。
完成配置后,Visual Studio Code中建立了与Databricks的连接。单击Databricks插件时,可以看到工作区和集群的配置详细信息。
一旦用户完成了GitHub Copilot的帐户设置,请确保您可以访问GitHub Copilot。在VSCode的Marketplace中安装GitHub Copilot和GitHub Copilot Chat Plugins。
一旦用户安装了GitHub Copilot和Copilot Chat插件,将会提示您通过Visual Studio IDE登录GitHub Copilot。如果没有提示进行授权,则点击Visual Studio Code IDE底部面板的铃铛图标。
现在是时候开始使用GitHub Copilot进行开发了
开发数据工程流水线
数据工程师可以利用GitHub Copilot以更快的速度编写数据工程流水线,包括文档。以下是使用提示技术创建简单数据工程流水线的步骤。
使用Python和Spark框架从S3存储桶读取文件。
使用Python和Spark框架将数据帧写入S3存储桶
通过主方法执行函数:与提示中相同的代码执行步骤

使用GitHub Copilot进行数据工程和机器学习的好处
- 优秀的AI配对编程工具,提供快速明智的建议并提供样板代码。
- 优化代码和运行时间的一流建议。
- 更好的逻辑步骤的文档和ASCII表示。
- 以最小的错误实现更快的数据管道。
- 详细解释现有的简单/复杂功能,并提出智能代码重构技术建议。
速查表
-
打开一个Copilot文本/搜索栏,您可以在其中输入提示。
Windows:[Cltr] + [I] Mac:Command + [I]
-
在右侧打开一个独立的窗口,显示前10个代码建议。
Windows:[Cltr] + [Enter]
Mac:[control] + [return]
-
在左侧打开一个独立的Copilot聊天窗口。
Windows:[Cltr] + [Alt] + [I]
Mac:[Control] + [Command] + [I]
-
关闭内联建议。
Windows/Mac:Esc
-
接受建议。
Windows/Mac:Tab
-
参考之前的建议。
Windows:[Alt] + [
Mac:[option] + [
-
检查下一个建议
Windows:[Alt] + ]
Mac:[option] + ]
结论
将AI配对编程工具与集成开发环境整合,可以帮助开发人员加速开发过程,实时提供代码建议,减少在查找样板代码和语法方面所需的时间,并使开发人员能够专注于创新和业务问题解决用例。
更多资源
- https://app.pluralsight.com/library/courses/getting-started-prompt-engineering-generative-ai/table-of-contents
- https://docs.github.com/en/copilot/quickstart
[Naresh Vurukonda](http://www.linkedin.com/in/naresh-vurukonda-a23861124)是一位首席架构师,拥有10多年在医疗保健、生命科学和媒体网络组织中构建数据工程和机器学习项目的经验。
Windows:[Cltr] + [I]