Проблема в том, что [[1.0, 2.0],[3.0, 4.0],[5.0, 6.0]]
- это массив массивов, а не массив структур.Вот простой пример, который на самом деле возвращает некоторый результат;надеюсь, это поможет вам начать:
CREATE TEMPORARY FUNCTION
kMeans(x ARRAY<FLOAT64>,
y ARRAY<FLOAT64>,
iterations FLOAT64, -- the number of iterations
k FLOAT64) -- the number of clusters
RETURNS ARRAY<STRUCT<lat FLOAT64 , lon FLOAT64>>
LANGUAGE js AS """
'use strict'
function sumOfSquareDiffs(oneVector, anotherVector) {
// the sum of squares error //
return [{lat: 1.0, lon: 2.0},
{lat: 3.0, lon: 4.0},
{lat: 5.0, lon: 6.0}];
}
return sumOfSquareDiffs([1, 2], [3, 4]);
""";
SELECT kMeans([1.2], [3.4], 50.0, 3.0);