如何从几个SQL文件创建一个SQL表?

时间:2018-07-03 14:43:47

标签: python sql database automation etl

以上所有解释都是在ETL过程的上下文中进行的。我有一个充满sql文件的git存储库。我需要将所有这些sql文件(一次拉入)放入具有2列的sql表中:name和query,以便以后可以使用SQL查询而不是从文件路径加载它们来访问每个文件。我该怎么做?我可以随意使用想要的工具,但是我只知道python和Pentaho。

也许这种方法比简单地访问位于硬盘驱动器中的请求文件需要更少的计算时间的假设是错误的。在这种情况下,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以首先按照以下方式定义您想要使用的表(您没有提及正在使用的数据库):

CREATE TABLE queries (
  name  TEXT PRIMARY KEY,
  query TEXT
);

创建表后,您可以使用os.walk来遍历存储库中的文件,然后将内容(例如file.read())和文件名插入创建的表中以前。

听起来好像您正在尝试解决其他问题。似乎您有兴趣加快某​​些过程,因为您询问使用表访问查询是否比打开磁盘上的文件更快。要进一步调查(单独!)这个问题,请参阅this

我建议您使用概要分析工具来概要描述您试图加速的现有过程。之后,您可以查看IO是否是您的瓶颈。否则,您可能会做所有这些工作而没有任何好处。

请注意,如果您以这种方式查找查询,则可能表明您需要重新构造应用程序。请也考虑这种可能性。