标签归档:sql

Dataset-易于使用的SQL数据存储数据处理,支持隐式表创建、大容量装载和事务

DataSet:面向懒人的数据库

总之,数据集使读取和写入数据库中的数据与读取和写入JSON文件一样简单

Read the docs

要安装数据集,请使用以下命令获取它pip

$ pip install dataset

注:从版本1.0开始,数据集被分成两个包,现在将数据导出功能提取到一个独立的包中,数据流转请参阅相关存储库here

Sqlalchemy-Python数据库工具包

Python SQL工具包和对象关系映射器

引言

SQLAlChemy是Python SQL工具包和对象关系映射器,它为应用程序开发人员提供了SQL的全部功能和灵活性。SQLAlChemy提供了一整套众所周知的企业级持久化模式,专为高效和高性能的数据库访问而设计,并改编成简单的Python域语言

SQLAlChemy的主要功能包括:

  • 工业实力ORM,从身份图、工作单元和数据映射器模式上的核心构建。这些模式允许使用声明性配置系统透明地持久化对象。域模型可以自然地构建和操作,并且更改会自动与当前事务同步
  • 面向关系的查询系统,根据对象模型显式公开SQL的全部功能,包括联接、子查询、关联和几乎所有其他功能。使用ORM编写查询使用的关系组合技术与编写SQL时使用的技术相同。虽然您可以随时使用文字SQL,但实际上从来不需要它
  • 一个全面而灵活的系统,可以立即加载相关集合和对象。集合缓存在会话中,并且可以在单个访问时使用联接一次加载,也可以通过跨整个结果集的每个集合查询一次加载
  • 核心SQL构建系统和DBAPI交互层。SQLAlChemy Core独立于ORM,本身就是一个完整的数据库抽象层,包括可扩展的基于Python的SQL表达式语言、模式元数据、连接池、类型强制和自定义类型
  • 所有主键和外键约束都假定是复合的和自然的。当然,代理整数主键仍然是规范,但是SQLAlChemy从不假定或硬编码此模型
  • 数据库自省和生成。数据库模式可以在一个步骤中“反映”到表示数据库元数据的Python结构中;然后,这些相同的结构可以立即生成CREATE语句-所有这些语句都在Core中,独立于ORM

SQLAlChemy的理念:

  • SQL数据库的行为越来越不像对象集合,大小和性能越重要;对象集合的行为越不像表和行,抽象就越重要。SQLAlChemy旨在同时满足这两个原则
  • ORM不需要隐藏“R”。关系数据库提供了丰富的、基于集合的功能,这些功能应该完全公开。SQLAlChemy的ORM提供了一组开放式模式,允许开发人员在域模型和关系模式之间构建自定义中介层,将所谓的“对象关系阻抗”问题变成遥远的记忆
  • 在所有情况下,开发人员都要做出关于对象模型和关系模式的设计、结构和命名约定的所有决策。SQLAlChemy仅提供自动执行这些决策的方法
  • 使用SQLAlChemy,不存在“ORM生成错误的查询”这样的事情-您保留对查询结构的完全控制,包括如何组织联接、如何使用子查询和关联、请求哪些列。SQLAlChemy所做的一切最终都是开发人员发起的决策的结果
  • 如果问题不需要ORM,请不要使用ORM。SQLAlChemy由一个核心和单独的ORM组件组成。Core提供了完整的SQL表达式语言,允许以Pythonic方式构造SQL构造,这些构造直接呈现为目标数据库的SQL字符串,返回本质上是增强型DBAPI游标的结果集
  • 交易应该是常态。使用SQLAlChemy的ORM,在调用Commit()之前,不会将任何内容放到永久存储中。SQLAlChemy鼓励应用程序创建描述一系列操作的开始和结束的一致方法
  • 千万不要在SQL语句中呈现文字值。最大程度地使用了绑定参数,从而允许查询优化器有效地缓存查询计划,并使SQL注入攻击不再成为问题

文档

最新文档位于:

https://www.sqlalchemy.org/docs/

安装/要求

有关安装的完整文档,请访问Installation

获取帮助/开发/错误报告

请参阅SQLAlchemy Community Guide

行为规范

最重要的是,SQLAlChemy非常重视用户和开发人员之间的礼貌、深思熟虑和建设性的交流。请参阅我们当前的行为准则,网址为Code of Conduct

许可证

SQLAlChemy分布在MIT license

Spark-Apache 面向大规模数据处理的统一分析引擎

Spark

Spark是面向大规模数据处理的统一分析引擎。它提供了Scala、Java、Python和R的高级API,以及支持通用计算图形进行数据分析的优化引擎。它还支持一组丰富的高级工具,包括用于SQL和DataFrame的Spark SQL、用于机器学习的MLlib、用于图形处理的GraphX以及用于流处理的结构化流

在线文档

您可以在上找到最新的Spark文档,包括编程指南project web page本自述文件仅包含基本设置说明

建设Spark

Spark是用Apache Maven要构建Spark及其示例程序,请运行:

./build/mvn -DskipTests clean package

(如果您下载了预构建包,则不需要执行此操作。)

更详细的文档可从项目网站获得,网址为“Building Spark”

有关常规开发提示,包括有关使用集成开发环境开发Spark的信息,请参见“Useful Developer Tools”

交互式Scala外壳

开始使用Spark的最简单方式是通过scala shell:

./bin/spark-shell

尝试执行以下命令,该命令应返回1,000,000,000:

scala> spark.range(1000 * 1000 * 1000).count()

交互式Python外壳

或者,如果您喜欢Python,也可以使用Python shell:

./bin/pyspark

并运行以下命令,该命令也应返回1,000,000,000:

>>> spark.range(1000 * 1000 * 1000).count()

示例程序

Spark还在examples目录。要运行其中一个,请使用./bin/run-example <class> [params]例如:

./bin/run-example SparkPi

将在本地运行PI示例

您可以在运行示例时设置MASTER环境变量,以将示例提交到集群。这可以是 mesos:// 或 Spark://url,“纱线”在纱线上运行,“local”在本地运行,只有一个线程,或者“local[N]”在本地运行,有N个线程。如果类位于examples包裹。例如:

MASTER=spark://host:7077 ./bin/run-example SparkPi

如果没有给出参数,许多示例程序会打印用法帮助

运行测试

测试首先需要building Spark构建Spark后,可以使用以下工具运行测试:

./dev/run-tests

请参阅有关如何执行以下操作的指南run tests for a module, or individual tests

还有一个Kubernetes集成测试,参见resource-managers/kubernetes/integration-tests/README.md

关于Hadoop版本的说明

Spark使用hadoop核心库与hdfs和其他hadoop支持的存储系统对话。由于不同版本的HADOOP中的协议已更改,因此您必须根据群集运行的相同版本构建Spark

请参阅以下地址的构建文档:“Specifying the Hadoop Version and Enabling YARN”有关针对特定Hadoop发行版进行构建的详细指导,包括针对特定配置单元和配置单元节俭服务器发行版进行构建

配置

请参阅Configuration Guide有关如何配置Spark的概述,请参阅联机文档

贡献

请查看Contribution to Spark guide有关如何开始为项目做贡献的信息,请参阅