小编O. *_*San的帖子

Go 中的 Elasticsearch,错误:“客户端注意到服务器不是 Elasticsearch,我们不支持这个未知产品”

我正在 Go 中使用 Elasticsearch,我遵循了本指南: https: //developer.okta.com/blog/2021/04/23/elasticsearch-go-developers-guide

我使用 docker 设置了 Elastic。验证 Elasticsearch 是否正在运行:

$ curl http://localhost:9200
{
  "name" : "0e9e2916eca5",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "jh8PVKNASpO3uK87Jzoq6Q",
  "version" : {
    "number" : "7.5.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "8bec50e1e0ad29dad5653712cf3bb580cd1afcdf",
    "build_date" : "2020-01-15T12:11:52.313576Z",
    "build_snapshot" : false,
    "lucene_version" : "8.3.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
Run Code Online (Sandbox Code Playgroud)

从浏览器看来也不错。

接下来,我设置了一个示例 Go 程序来测试它:

package main

import (
    "testing"
    "github.com/elastic/go-elasticsearch/v8"
)

func Test_elastic(t *testing.T) {

    es, err …
Run Code Online (Sandbox Code Playgroud)

go elasticsearch

14
推荐指数
2
解决办法
3万
查看次数

在Pandas中,分组列之后的组已经消失

我有以下名为ttm的数据框:

    usersidid   clienthostid    eventSumTotal   LoginDaysSum    score
0       12          1               60              3           1728
1       11          1               240             3           1331
3       5           1               5               3           125
4       6           1               16              2           216
2       10          3               270             3           1000
5       8           3               18              2           512
Run Code Online (Sandbox Code Playgroud)

当我做

ttm.groupby(['clienthostid'], as_index=False, sort=False)['LoginDaysSum'].count()
Run Code Online (Sandbox Code Playgroud)

我得到了我的预期(虽然我希望结果在一个名为'ratio'的新标签下):

       clienthostid  LoginDaysSum
0             1          4
1             3          2
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做

ttm.groupby(['clienthostid'], as_index=False, sort=False)['LoginDaysSum'].apply(lambda x: x.iloc[0] / x.iloc[1])
Run Code Online (Sandbox Code Playgroud)

我明白了:

0    1.0
1    1.5
Run Code Online (Sandbox Code Playgroud)
  1. 为什么标签出现了?我还需要分组需要'clienthostid',我也需要申请的结果也在标签下
  2. 有时当我进行分组时,其他一些列仍会出现,为什么有时列会消失并且有时会停留?是不是有一个我不想做那些东西的旗帜?
  3. 在我给出的示例中,当我计算标签'LoginDaysSum'上显示的结果时,是否有为什么要为结果添加新标签?

谢谢,

python pandas

4
推荐指数
2
解决办法
1万
查看次数

Pandas to_sql将列类型从varchar更改为text

我写了一个小脚本来复制SQL服务器之间的表.它有效,但其中一列将类型从varchar更改为text ...如何使其复制具有相同列类型的表?

import pymssql
import pandas as pd
from sqlalchemy import create_engine


db_server= 1.2.3.4\\r2
db_database="Test_DB"
db_user="vaf"
db_password="1234"

local_db_server="1.1.1.1\\r2"
local_db_database="Test_DB"
local_db_user="vaf"
local_db_password="1234"

some_query=("""
select * from some_table
""")




def main():
    conn=pymssql.connect(server=local_db_server,user=local_db_user,password=local_db_password,database=local_db_database,charset='UTF-8')
    data=pd.io.sql.read_sql(some_query,conn)

    connection_string='mssql+pymssql://{}:{}@{}/{}'.format(db_user,db_password,db_server,db_database)
    engine=create_engine(connection_string)
    data.to_sql(name="some_table",con=engine,if_exists='replace',index=False)

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

谢谢

python sql-server pandas

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

如何在异常中打印有问题的行

我在我的代码中使用Pandas,并使用下面的代码操作一些数据框:

def exit(exitCode, errorMsg=None, monitor_thread=None):
   if exitCode is not None:
       logger.error(errorMsg)
       logger.error(traceback.format_exc())
   sys.exit(exitCode)

try:
    results['name'] = results['name'].astype(float).astype(int)
except Exception as e:  # catch *all* exceptions
    exit("Failed to convert name" + str(e), 8)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback(最近一次调用最后一次):

文件"DIST\FDmanInfo.py",第206行,in

在主文件中输入"DIST\FDmanInfo.py",第191行

文件"\ local\Python\lib\site-packages\pandas\core\generic.py",第3054行,在astype raise_on_error = raise_on_error,**kwargs)

文件"\ local\Python\lib\site-packages\pandas\core\internals.py",第3189行,在astype中

return self.apply('astype',dtype = dtype,**kwargs)

文件"\ local\Python\lib\site-packages\pandas\core\internals.py",第3056行,在apply applied = getattr(b,f)(**kwargs)

文件 "\本地\ Python的\ LIB \站点包\大熊猫\核心\ internals.py",线路461,在astype值=值,**kwargs)

文件"\ local\Python\lib\site-packages\pandas\core\internals.py",第504行,_astype values = _astype_nansafe(values.ravel(),dtype,copy = True)

文件"\ local\Python\lib\site-packages\pandas\types\cast.py",第531行,在_astype_nansafe中引发ValueError('无法将NA转换为整数')ValueError:无法将NA转换为整数

我想知道哪一行正在解决这个问题,但是我无法在任何地方找到异常打印它(行)的日志,就像输入数据帧一样:

name
Run Code Online (Sandbox Code Playgroud)

0 1.0

1 NaN

2 3.0

3 4.0

我希望它在它失败的行上打印,在这种情况下"1 NaN",它甚至可能吗?

谢谢,

python pandas

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

问号'?' 在方法的参数中给出

我有一个包含具有以下方法的类的代码:

public string AddEvent(DateTime date, int eventCount, int? eventId, string eventGuid){...}
Run Code Online (Sandbox Code Playgroud)

我的问题是那里的问号是做什么的?我的猜测它与重载有关,因为有另一种重载方法,AddEvent但我不确定...

c#

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

使用单个取消令牌添加中止所有任务

我收到了一项可以同时执行多项任务的服务。我被分配添加一个中止选项,该选项应该结束所有当前正在运行的任务。因为系统已经实现,所以将 CancellationTokenSource 传递给每个任务是有问题的,所以我所做的是创建一个所有任务都会侦听取消的单个令牌。当中止接收时,该令牌将发送取消,然后将创建一个新的 CancellationTokenSource 实例。我无法验证所有任务,直到中止之前结束在 启动 CancellationTokenSource 的新实例

几个问题:

  1. 起初我以为 TokenSource.Cancel() 只是一个发送的事件,但它似乎被卡在“高位”,所以任何具有相同令牌的新任务也会收到取消,是真的吗?

  2. 理想情况下,每个任务都有自己的取消令牌(对吗?),问题是谁需要持有该令牌?谁调用了该任务或任务本身?因为一旦发送取消,我将需要永远保留该令牌,因为我无法判断任务何时到达退出点。

  3. 是否有一种已经实现的方法来监视所有当前正在运行的任务,以便在发送取消时我将确保在允许任何新任务之前所有任务都已结束?我使用信号量做到了这一点,但它看起来像是一个糟糕的解决方案。

对于新手问题,我很抱歉,我已经实现了我需要的内容并且它有效,但质量远低于标准,我希望以正确的方式改进它。

.net c# multithreading threadpool cancellationtokensource

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