小编Dav*_*yne的帖子

SQLAlchemy Automap 反向引用错误

我是 SQLAlchemy(通常是 ORM)的新手,我正在尝试将现有应用程序转移到 SQLAlchemy,以便我们可以将一些代码复杂性从当前现有(并且更新繁琐)查询转移到 Python。不幸的是,我在数据库反射后立即收到错误。尽管我可以直接查询表,但我实际上无法直接访问类或类之间的关系。下面是我正在尝试做的一个大约最小的例子。

现有的 postgres 表:

dev=> \d+ gmt_file
                                        Table "public.gmt_file"
  Column   |     Type     | Modifiers | Storage  | Stats target | Description 
-----------+--------------+-----------+----------+--------------+-------------
 file_id   | integer      | not null  | plain    |              |
       a   | integer      |           | plain    |              | 
       b   | integer      |           | plain    |              | 
Indexes:
    "gmt_file_pk" PRIMARY KEY, btree (file_id)
Foreign-key constraints:
    "gmt_file_a_fk" FOREIGN KEY (a) REFERENCES cmn_user(user_id)
    "gmt_file_b_fk" FOREIGN KEY (b) REFERENCES cmn_user(user_id)
Run Code Online (Sandbox Code Playgroud)

SQLAlchemy 应用程序(最小示例):

from sqlalchemy import create_engine
from sqlalchemy.orm …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy

6
推荐指数
1
解决办法
2117
查看次数

将地图数组组合成pyspark数据帧中的单个地图

是否有类似于 collect_list 或 collect_set 的函数将一列地图聚合到(分组的)pyspark 数据框中的单个地图中?例如,此函数可能具有以下行为:

>>>df.show()

+--+---------------------------------+
|id|                             map |
+--+---------------------------------+
| 1|                    Map(k1 -> v1)|
| 1|                    Map(k2 -> v2)|
| 1|                    Map(k3 -> v3)|
| 2|                    Map(k5 -> v5)|
| 3|                    Map(k6 -> v6)|
| 3|                    Map(k7 -> v7)|
+--+---------------------------------+

>>>df.groupBy('id').agg(collect_map('map')).show()

+--+----------------------------------+
|id|                 collect_map(map) |
+--+----------------------------------+
| 1| Map(k1 -> v1, k2 -> v2, k3 -> v3)|
| 2|                     Map(k5 -> v5)|
| 3|           Map(k6 -> v6, k7 -> v7)|
+--+----------------------------------+
Run Code Online (Sandbox Code Playgroud)

使用其他 collect_ 聚合和 udf 之一产生所需的结果可能不会太困难,但似乎应该已经存在这样的东西。

pyspark spark-dataframe pyspark-sql

6
推荐指数
3
解决办法
4212
查看次数