Я хочу вычислить среднее расстояние, которое составляет ID
в каждом zone
. Я просыпаюсь в pyspark
и использую geospark
.
Моя таблица выглядит так:
+--------------------+--------+----------+--------------------+--------------------+
| ID| zone| date| point| point1|
+--------------------+--------+----------+--------------------+--------------------+
|04607f5b-746e-455...|00295753|2020-03-18|POINT (-80.161590...|POINT (-80.161590...|
|05df916c-6269-485...|01383864|2020-03-17|POINT (-95.581115...|POINT (-95.581115...|
|1973aa17-863f-4de...|01383847|2020-03-17|POINT (-96.864837...|POINT (-96.864837...|
|1bba1026-dcb3-42f...|00465266|2020-03-17|POINT (-95.823860...|POINT (-95.823860...|
|2a16bc8c-a529-42e...|01266994|2020-03-18|POINT (-101.24329...|POINT (-101.24329...|
|352b142f-616e-46b...|01605066|2020-03-17|POINT (-105.73150...|POINT (-105.73150...|
|66952620-0cc2-4ba...|01383943|2020-03-17|POINT (-96.226104...|POINT (-96.226104...|
|7e901a60-9f16-4a9...|01383886|2020-03-19|POINT (-95.496803...|POINT (-95.496803...|
|80fdf1e3-92ca-4b1...|01383813|2020-03-16|POINT (-97.661605...|POINT (-97.661605...|
|81f3eb49-ef3f-48f...|00066975|2020-03-18|POINT (-93.562011...|POINT (-93.562011...|
+--------------------+--------+----------+--------------------+--------------------+
Я хотел бы вычислить сумму расстояния, пройденного пользователями в каждая зона и общее количество отдельных пользователей для каждой зоны в каждый день. Я использую geospark
, и я могу выполнять простые запросы, подобные этому
queryDistances = """
SELECT ID, date,
ST_Distance(point, point1) as distance
FROM myTable
"""
Я хотел бы измерить расстояние между point
и point1
и сделать среднее расстояние на ID
на date
для каждой зоны и общее количество различных ID
в день на zone
.
Я бы хотел таблицу типа
zone date avg(distance) tot(users)
00295753 2020-03-18 5.5 74
01383864 2020-03-17 7.3 117