山顶公立学校雪花仓库

spswarehouse-hs-test的Python项目详细描述


spshwarehouse

先决条件

  • 蟒蛇3
  • Jupyter笔记本

安装

  • 要安装,请运行:pip install spshwarehouse
    • 这可以在「开始」菜单中的"蟒蛇提示"中完成。
  • 通过运行:pip show pip grep"location:"cut-d""-f2来定位安装目录
    • 如果这不起作用,请运行pip show pip,然后查看行"location:"。

本自述文件中提到的文件位于<;install directory>;/spshwarehouse/

设置依赖项

  • 切换到spshwarehouse目录
    • cd<;安装目录>;\spshwarehouse
    • anaconda3的默认值是cd anaconda3\lib\site packages\spshwarehouse
  • 运行:pip install-r requirements.txt

您可以退出anaconda提示符;下一步在文件资源管理器中更容易完成。

设置凭据

安装此模块的默认目录是users\<;your name>;\anaconda3\lib\site packages\spshwarehouse。您的凭证位于spshwarehouse子目录中。

  • credentials.py.template文件复制到credentials.py

雪花

这允许您访问雪花数据仓库。

  • 在引号之间填写您的雪花用户密码凭证。

谷歌表格

这允许您访问您的谷歌电子表格。

  • 从您的团队获取Google服务帐户的私钥
  • credentials.py中,在google_configservice account下,在引号之间填写private_key
  • 当您第一次importtheGooglesheets模块时,服务帐户的电子邮件地址将被打印出来,您将使用该电子邮件地址共享您想要访问的任何电子表格。

用法

雪花

您的雪花连接是在credentials.py中配置的(请参见上文)。

雪花访问在中由warehouse实现。你可以:

  • 使用read_sql()
  • 读取数据
  • 使用reflect_table()
  • 反射表格
  • 使用execute()
  • 运行SQL命令

表列名选项卡完成

当您运行import spshwarehouse时,将自动设置表和列名的某些制表符补全。

格式为:

spswarehouse.<schema_name>.<table name>.c_<column name>

为了减少加载时间,当导入spshwarehouse时,只为少数模式自动设置制表符完成。

如果您使用的架构不是制表符完成,则可以手动导入它。

例如,要为架构启用制表符竞争,请运行:

from spswarehouse.table_names import *

initialize_schema_object(SchoolMint)
schoolmint = SchoolMint()

上传数据

表实用程序模块实现将数据上载到雪花仓库。

您可以从中上载的数据源是:

  • pandas.dataframedataframe
  • csv文件csv文件名
  • 谷歌工作表

两种主要方法是create_table_stmtupload_to_warehouse。两者都支持以上数据源作为可选参数:

  • 数据帧
  • csv文件名
  • 谷歌工作表

在Jupyter笔记本中,打开雪花上传示例.ipynb以获取基本示例。

列类型

create_table_stmt()将在给定数据帧、csv文件或google工作表时尝试猜测列类型。

如果要显式命名和键入列ns,您可以传入参数。

有关类型的最佳实践,请参阅guess\u col\u types()的文档。

谷歌工作表

确保首先设置了credentials.py并将电子表格与google服务帐户电子邮件共享。您也可以通过运行获得电子邮件:

GoogleSheets.get_google_service_account_email()

信息团队服务帐户电子邮件是jupyter sheets@sps warehouse.iam.gserviceaccount.com

googlesheets实际上是gspread.client的一个实例,因此您可以使用 gspreadpython api.

访问数据

在Jupyter笔记本中,打开并运行googlesheets example.ipynb以获取有关加载电子表格和将工作表数据读取到pandas.dataframe中的基本示例

上传至仓库

从Jupyter Notebook打开并运行雪花上传示例.ipynb以获取将谷歌工作表数据上传到雪花仓库的基本示例。

列类型

开发人员注释

谷歌服务帐户密钥

这允许我们使用google sheets api来访问表数据。只需执行一次并添加到credentials.py.template

  • 使用现有的google developer项目,或创建一个新项目:https://console.cloud.google.com rel="nofollow">https://console.cloud.google.com
  • 启用google sheets api
    • 转到项目的"API&Services",然后转到"Libraries"。
    • 搜索"google sheets"并选择结果。
    • 单击"启用"。
  • 创建OAuth客户端凭据
    • 转到项目的API&Services,然后转到Credentials
    • 在"创建凭据"下,选择"服务帐户密钥"
    • 选择一个现有的服务帐户或创建一个新帐户以将此密钥与之关联。
    • 创建密钥并将其作为json文件下载。
  • 将oauth客户机凭据复制到服务帐户下的google\u client中的credentials.py.template
  • 删除私钥并在签入credentials.template.py时只留下引号
  • 您需要安全地分发私钥,以便将其添加到credentials.py

PYPI

我们使用pypi分发spshwarehouse模块,并使用测试pypi进行测试。

spswarehouse项目在这里

设置

创建pypi并测试pypi帐户以测试和上载包。

包装

有关PYPI打包的概述和介绍,请参见https://packaging.python.org/tutorials/packaging projects/

spshwarehouse的详细信息

  • 只构建sdist包。否则,credentials.py和潜在的密码将在二进制分发中分发。
  • 如果需要包含非python文件,请将它们添加到manifest.in

测试

  • setup.py中更新版本号
  • 创建包: python setup.py sdist
  • 上传到测试pypi: python-m tween upload——存储库url https://test.pypi.org/legacy/dist/*
  • 在本地计算机上安装以进行测试:pip install-i https://test.pypi.org/simple/

推出新套餐

确保所有更改都签入github存储库并在此之前,您的本地存储库是最新的。

步骤与上一节相同,省略了test.pypiurl。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法使用JSF访问托管bean方法   java是制作具有多值类型的HashMap的正确方法   javafx中TicTacToe的java更新UI   windows Java文件。getCanonicalFile()无法处理冒号“:”   java在一个布局屏幕中创建多个(26)按钮   java Android Studio:Gradle构建完成,有251个错误   我们如何在Java上为callfireapiclient编写单元/集成测试?   java无法将1715UTC转换为本地/gmt类型   具有已定义的数字序列的JAVA循环   Java程序正在netbeans中编译,但未在CMD中编译,包不存在   java Android构造函数和onCreate()之间有什么区别?   java配置弹性搜索结果评分   java LibGDX纹理是否可绘制?   java如何在Android中设置应用程序默认打开pdf   java是否有一种创造性的方法将多个参数传递给contentEquals()方法?   java在Android上存储Ed25519私钥