小编Dav*_*vid的帖子

不应该在 Sql 中的 SELECT 之前出现吗?

这是一直困扰着我的事情。将 FROM 子句放在 SELECT 之前不是更有意义吗?每当我写sql,尤其是连接时,我总是先弄清楚FROM子句,然后再写SELECT。

另外,将 FROM 放在首位可以在编辑器中实现更好的智能感知。

有谁知道将 SELECT 放在首位的原因是什么?只有我一个人为此烦恼吗?

sql select

5
推荐指数
2
解决办法
360
查看次数

在 ASP.NET Core Web Minimal API 中运行单独的进程

我有一个长时间运行的进程,我想向其中添加 REST api。通过 API,我希望能够检查长时间运行的进程中变量的值。

我使用最少的 API 整理了一个概念验证:

public class Program
{
    public static int val = 0;
    public static object locker = new object();


    public static void Main(string[] args)
    {
        Task.Run(() =>
        {
            while (true)
            {
                lock (locker)
                {
                    val++;
                }
                Thread.Sleep(100);
            }
        });

        var builder = WebApplication.CreateBuilder(args);
        var app = builder.Build();

        app.MapGet("/", () => 
        {
            lock (locker)
                return val;
        });

        app.Run();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的想法是让我的长时间运行进程的代码在 Task.Run 中运行。我以正确的方式处理这件事吗?我想做的事情是否有任何潜在的陷阱/陷阱?

c# task-parallel-library asp.net-web-api asp.net-core asp.net-core-minimal-hosting-model

3
推荐指数
1
解决办法
791
查看次数

如何使用 dask 和 xarray 加载和处理 zarr 文件

我在 s3 中有每月的 zarr 文件,这些文件具有网格化的温度数据。我想为一个纬度/经度提取多个月的数据并创建该时间序列的数据框。一些伪代码:

datasets=[]
for file in files:
    s3 = s3fs.S3FileSystem()        
    zarr_store = s3fs.S3Map(file, s3=s3)
    zarr = xr.open_zarr(store=zarr_store, consolidated=True)
    ds = zarr.sel(latitude=lat,
                  longitude=long,
                  time=slice(start_date.strftime("%Y-%m-%d"),
                             end_date.strftime("%Y-%m-%d"))
                       )
    datasets.append(ds)

con = xr.concat(datasets, dim='time')
df = con.to_dataframe()
Run Code Online (Sandbox Code Playgroud)

所以这段代码可以工作,但速度非常慢。我希望使用 dask 来加快速度。我的计划是更改一次处理一个文件并返回一个数据帧的方法。然后我会调用 client.map() 并生成所有 dfs,然后在最后将它们连接在一起。所以我结束了类似的事情:

def load(file, lat: float, long: float, start_date, end_date):

    s3 = s3fs.S3FileSystem()
    s3_path = file['s3_bucket'] + '/' + file['zarr_s3_key']
    zarr_store = s3fs.S3Map(s3_path, s3=s3)
    zarr = xr.open_zarr(store=zarr_store, consolidated=True)

    ds = zarr.sel(latitude=lat,
                  longitude=long,
                  time=slice(start_date.strftime("%Y-%m-%d"),
                             end_date.strftime("%Y-%m-%d"))
                 )

    tmp = x.result().to_array().values
    df_time = …
Run Code Online (Sandbox Code Playgroud)

python dask python-xarray zarr

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