小编Gre*_*reg的帖子

如何在一个PostgreSQL查询中使用多个WITH语句?

我想使用WITH语句"声明"什么是有效的多个TEMP表.我试图执行的查询是这样的:

WITH table_1 AS (
SELECT GENERATE_SERIES('2012-06-29', '2012-07-03', '1 day'::INTERVAL) AS date
)

WITH table_2 AS (
SELECT GENERATE_SERIES('2012-06-30', '2012-07-13', '1 day'::INTERVAL) AS date
)

SELECT * FROM table_1
WHERE date IN table_2
Run Code Online (Sandbox Code Playgroud)

我已阅读PostgreSQL文档,并研究使用多个WITH语句,但无法找到答案.

sql postgresql common-table-expression

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

Python 3 urllib产生TypeError:POST数据应该是字节或可迭代的字节.它不能是str类型

我正在尝试将Python 2.7代码转换为Python 3代码,并且我从urllib请求模块收到类型错误.

我使用内置的2to3 Python工具转换下面的工作urllib和urllib2 Python 2.7代码:

import urllib2
import urllib

url = "https://www.customdomain.com"
d = dict(parameter1="value1", parameter2="value2")

req = urllib2.Request(url, data=urllib.urlencode(d))
f = urllib2.urlopen(req)
resp = f.read()
Run Code Online (Sandbox Code Playgroud)

2to3模块的输出是以下Python 3代码:

import urllib.request, urllib.error, urllib.parse

url = "https://www.customdomain.com"
d = dict(parameter1="value1", parameter2="value2")

req = urllib.request.Request(url, data=urllib.parse.urlencode(d))
f = urllib.request.urlopen(req)
resp = f.read()
Run Code Online (Sandbox Code Playgroud)

运行Python 3代码时,会产生以下错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-56-206954140899> in <module>()
      5 
      6 req = urllib.request.Request(url, data=urllib.parse.urlencode(d))
----> 7 f = urllib.request.urlopen(req)
      8 resp = f.read()

C:\Users\Admin\Anaconda3\lib\urllib\request.py in …
Run Code Online (Sandbox Code Playgroud)

python urllib urllib2 python-2.7 python-3.x

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

如何让Alembic识别SQLModel数据库模型?

使用SQLModel如何让 alembic 识别以下模型?

from sqlmodel import Field, SQLModel

class Hero(SQLModel, table=True):
    id: int = Field(default=None, primary_key=True)
    name: str
    secret_name: str
    age: Optional[int] = None
Run Code Online (Sandbox Code Playgroud)

我一直在研究的一种方法是导入 Alembic 的 SQLalchemy 模型,但查看源代码我找不到如何做到这一点。

如何使 Alembic 与 SQLModel 模型一起使用?

sqlalchemy alembic pydantic fastapi sqlmodel

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

使用Java建立与MySQL的安全连接Amazon RDS(SSL/TLS)

我正在尝试使用JDK 1.8和MySQL Connector/J版本5.1.23安全地连接到Amazon RDS,我对MySQL Connector/J文档中的说明感到困惑.

说明指出在当前目录中创建信任库并导入服务器的CA证书.当我运行以下命令时,我被要求输入密码,我不知道输入什么:

keytool -import -alias mysqlServerCACert -file file_location.pem -keystore truststore
Run Code Online (Sandbox Code Playgroud)

另一方面,亚马逊指示指出证书由证书颁发机构签名.SSL证书包括数据库实例端点作为公共名称(CN).公钥也存储在http://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem中.

虽然我理解SSL/TSL和私钥/公钥的概念,但我很困惑如何实现它?

当我运行SHOW VARIABLES LIKE 'have_ssl';命令时,我收到"是"作为值.当我连接到数据库并运行时SHOW SESSION STATUS LIKE 'Ssl_version';,我没有收到任何值.

如何建立从Java到MySQL数据库的安全连接?

更新: 我使用的是ubuntu,我使用keytool truststore.jks在JRE目录中生成一个文件/usr/lib/jvm/java/jre/.我还执行了以下命令:GRANT USAGE ON db_name.* To 'username'@'address' REQUIRE SSL;

以下代码是我连接数据库的方式:

import com.mysql.jdbc.Connection;

public class mainClass{

    public static void main(String[] args){

        System.setProperty("javax.net.ssl.trustStore", "/usr/lib/jvm/java/jre/truststore.jks");
        System.setProperty("javax.net.ssl.trustStorePassword", "truststore_password");

        final String url = "jdbc:mysql://mysql_rds_enpoint:port/db_name?verifyServerCertificate=true&useSSL=true&requireSSL=true";
        final String username = "username";
        final String password = …
Run Code Online (Sandbox Code Playgroud)

java mysql ssl amazon-web-services amazon-rds

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

无法启动Airflow工作人员/花,需要澄清Airflow架构以确认安装是否正确

在另一台计算机上运行工作程序会导致下面指定的错误.我已按照配置说明操作并同步dags文件夹.

我还要确认RabbitMQ和PostgreSQL只需要安装在Airflow核心机器上,而不需要安装在工作人员上(工作人员只能连接到核心).

设置规范详述如下:

气流核心/服务器计算机

安装了以下内容:

  • Python 2.7 with
    • 气流(AIRFLOW_HOME =〜/ airflow)
    • 芹菜
    • psycogp2
  • 的RabbitMQ
  • PostgreSQL的

在airflow.cfg中进行的配置:

  • sql_alchemy_conn = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow
  • executor = CeleryExecutor
  • broker_url = amqp://username:password@192.168.1.2:5672//
  • celery_result_backend = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow

进行的测试:

  • RabbitMQ正在运行
  • 可以连接到PostgreSQL并确认Airflow已创建表
  • 可以启动和查看网络服务器(包括自定义dags)

.

.

气流工人计算机

安装了以下内容:

  • Python 2.7 with
    • 气流(AIRFLOW_HOME =〜/ airflow)
    • 芹菜
    • psycogp2

airflow.cfg中的配置与服务器中的配置完全相同:

  • sql_alchemy_conn = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow
  • executor = CeleryExecutor
  • broker_url = amqp://username:password@192.168.1.2:5672//
  • celery_result_backend = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow

命令输出在工作机器上运行:

运行时airflow flower:

ubuntu@airflow_client:~/airflow$ airflow flower
[2016-06-13 04:19:42,814] {__init__.py:36} INFO - Using executor CeleryExecutor
Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

python rabbitmq celery airflow

13
推荐指数
2
解决办法
7423
查看次数

RabbitMQ在处理长时间运行的任务时关闭连接,超时设置产生错误

我正在使用RabbitMQ生产者向消费者发送长时间运行的任务(30分钟+).问题是,当关闭服务器的连接并且未确认的任务被重新排队时,消费者仍在处理任务.

从研究中我了解到心跳增加的连接超时 可以用来解决这个问题.这两种解决方案在尝试时都会引发错误.在阅读类似帖子的答案时,我还了解到,自发布答案后,RabbitMQ已经实施了许多更改(例如,默认心跳超时已从RabbitMQ 3.5.5之前的580更改为60).

指定心跳和阻止的连接超时时:

credentials = pika.PlainCredentials('user', 'password')
parameters = pika.ConnectionParameters('XXX.XXX.XXX.XXX', port, '/', credentials, blocked_connection_timeout=2000)
connection = pika.BlockingConnection(parameters)

channel = connection.channel()
Run Code Online (Sandbox Code Playgroud)

显示以下错误:

TypeError: __init__() got an unexpected keyword argument 'blocked_connection_timeout'
Run Code Online (Sandbox Code Playgroud)

heartbeat_interval=1000在连接参数中指定时,会显示类似的错误:TypeError: __init__() got an unexpected keyword argument 'heartbeat_interval'

同样,socket_timeout = 1000显示以下错误:TypeError: __init__() got an unexpected keyword argument 'socket_timeout'

我在Ubuntu 14.04上运行RabbitMQ 3.6.1,pika 0.10.0和python 2.7.

  1. 为什么上述方法会产生错误?
  2. 在有长期连续任务的情况下,是否可以使用心跳方法?例如,在执行需要30分钟以上的大型数据库连接时,是否可以使用心跳?我赞成心跳方法,很多时候很难判断数据库连接等任务需要多长时间.

我已经阅读了类似问题的答案

更新:从pika文档中运行代码会产生相同的错误.

python amqp rabbitmq pika python-pika

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

如何在python中为xgboost编写自定义评估指标?

我想在Python中添加用于xgboost的kappa评估指标.我无法理解如何将Python函数与xgboost连接起来.

根据xgboost文档,"用户可以添加多个评估指标,对于python用户,请记住将指标作为参数对列表而不是映射传递,以便后者'eval_metric'不会覆盖前一个"

这已在xgboost的Github页面中针对R而不是针对Python而提出.

例如,如果kappa函数是:

def kappa(preds, y):
    # perform kappa calculation
    return score
Run Code Online (Sandbox Code Playgroud)

如何使用xgboost实现它?'kappa'eval_metric参数中指定为字符串会导致XGBoostError: unknown evaluation metric type: kappa.

同样指定kappa方法对象的结果XGBoostError: unknown evaluation metric type: <function kappa at 0x7fbef4b03488>.

如何在python中的xgboost中使用自定义评估指标?

machine-learning xgboost objective-function

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

如何在Ubuntu系统启动时自动启动Kafka?

Kafka是否有正式的方式(例如init.d脚本)在系统启动时启动Kafka?

启动卡夫卡的唯一官方方法我见过:

nohup ~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties > ~/kafka/kafka.log 2>&1 &
Run Code Online (Sandbox Code Playgroud)

我试图使用@reboot任务,crontab -e但它没有启动Kafka.有些人还编写了自定义init.d

还有一些自定义的init.d脚本可用(例如一个,两个,三个),但它们都是不同的,我对init.d不够熟悉,无法理解哪一个,如果有的话.

如何在系统启动时启动Kafka?

ubuntu init.d apache-kafka

10
推荐指数
3
解决办法
8806
查看次数

Rabbitmq错误:[Errno 10054]远程主机强行关闭现有连接

我在Python中使用Kombu来使用持久的RabbitMQ队列.

在Windows中只有一个消费者使用队列.此消费者产生以下错误:

Traceback (most recent call last):
  File ".\consumer_windows.py", line 66, in <module>
    message.ack()
  File "C:\Users\Administrator\Anaconda2\lib\site-packages\kombu\message.py", line 88, in ack
    self.channel.basic_ack(self.delivery_tag)
  File "C:\Users\Administrator\Anaconda2\lib\site-packages\amqp\channel.py", line 1584, in basic_ack
    self._send_method((60, 80), args)
  File "C:\Users\Administrator\Anaconda2\lib\site-packages\amqp\abstract_channel.py", line 56, in _send_method
    self.channel_id, method_sig, args, content,
  File "C:\Users\Administrator\Anaconda2\lib\site-packages\amqp\method_framing.py", line 221, in write_method
    write_frame(1, channel, payload)
  File "C:\Users\Administrator\Anaconda2\lib\site-packages\amqp\transport.py", line 182, in write_frame
    frame_type, channel, size, payload, 0xce,
  File "C:\Users\Administrator\Anaconda2\lib\socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 10054] An existing connection was forcibly closed by the remote …
Run Code Online (Sandbox Code Playgroud)

python rabbitmq kombu

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

C++ 14/17项目是否可以使用使用C++ 11标准编译的二进制库,或者源代码是否需要重新编译?

可以在c ++ 14/17项目中使用使用C++ 11编译的二进制文件吗?那个c ++ 17项目中的c ++ 14二进制库怎么样?

或者是否需要使用与项目相同的标准更新和重新编译源代码?

有没有其他方法可以在新标准项目中包含旧的标准C++库?

c++ standards c++-standard-library c++11 c++14

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