山顶公立学校雪花仓库

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第三方库


热门话题
如何在Eclipse中设置Java路径,以便在外部驱动器上运行它?   在windows上使用Java服务包装器GUI与桌面交互   java是与此字符序列不匹配的正则表达式   java无法使用kafka管理客户端API创建具有所需分区的kafka主题   java基于单个单元格值获取整个excel行   当使用Spring的构造函数注入时,java bean是否在构造函数中完全初始化?   java重置LineNumberReader的计数器   将字符串从Java文件传递到jQuery   安卓在来自不同Java类文件的活动中祝酒   java在使用mvvm时如何在zk中更新progressmeter   使用regex获取由“”Java包围的值   使用tester类的java猜谜游戏   api响应的java POJO,其密钥为“”   java正则表达式,用于匹配长度大于n的字母和数字字符串?   java如何使用Json保存和恢复RecyclerView项的位置   在Java中用字符代码替换字符串   Jenkins中的java PermGen错误   java swing panel问题   boolean在Java中,false如何可能等于true   java如何使用Servlet从HTML表单中检索“分组”项?