我很幸运能成为服务器的管理员,但我不知道这台服务器上有多少个sql server版本.当我打开文件Microsoft SQL Server时,有文件名为80,90,100,110.我只找到SQL Server 2012安装程序,那么文件名如80,90,100,110与sql server之间的关系是什么像2008年,2012年的版本?
我正在学习如何使用气流来构建机器学习管道。
但没有找到一种方法将从 1 个任务生成的 pandas 数据帧传递到另一个任务中...似乎需要将数据转换为 JSON 格式或在每个任务中将数据保存在数据库中?
最后,我必须将所有内容放入 1 个任务中...是否有办法在气流任务之间传递数据帧?
这是我的代码:
from datetime import datetime
import pandas as pd
import numpy as np
import os
import lightgbm as lgb
from sklearn.model_selection import train_test_split
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import balanced_accuracy_score
from airflow.decorators import dag, task
from airflow.operators.python_operator import PythonOperator
@dag(dag_id='super_mini_pipeline', schedule_interval=None,
start_date=datetime(2021, 11, 5), catchup=False, tags=['ml_pipeline'])
def baseline_pipeline():
def all_in_one(label):
path_to_csv = os.path.join('~/airflow/data','leaf.csv')
df = pd.read_csv(path_to_csv)
y = df[label]
X = df.drop(label, axis=1)
folds = StratifiedKFold(n_splits=5, shuffle=True, …Run Code Online (Sandbox Code Playgroud) 到目前为止,Spark还没有为流数据创建DataFrame,但是当我进行异常检测时,使用DataFrame进行数据分析会更方便,更快捷.我已经完成了这一部分,但是当我尝试使用流数据进行实时异常检测时,出现了问题.我尝试了几种方法仍然无法将DStream转换为DataFrame,也无法将DStream中的RDD转换为DataFrame.
这是我最新版代码的一部分:
import sys
import re
from pyspark import SparkContext
from pyspark.sql.context import SQLContext
from pyspark.sql import Row
from pyspark.streaming import StreamingContext
from pyspark.mllib.clustering import KMeans, KMeansModel, StreamingKMeans
from pyspark.sql.functions import *
from pyspark.sql.types import *
from pyspark.sql.functions import udf
import operator
sc = SparkContext(appName="test")
ssc = StreamingContext(sc, 5)
sqlContext = SQLContext(sc)
model_inputs = sys.argv[1]
def streamrdd_to_df(srdd):
sdf = sqlContext.createDataFrame(srdd)
sdf.show(n=2, truncate=False)
return sdf
def main():
indata = ssc.socketTextStream(sys.argv[2], int(sys.argv[3]))
inrdd = indata.map(lambda r: get_tuple(r))
Features = Row('rawFeatures')
features_rdd = …Run Code Online (Sandbox Code Playgroud) 我正在通过Amazon Redshift编写psql,现在试图在SQL WorkBench上通过PSQL查询将输出保存为CSV。我计划通过查询而不是使用select子句来执行此操作,然后右键单击以将输出另存为csv,因为存在大量数据,所以我发现如果将输出生成到临时表中,则比使用select显示所有输出要快得多。因此,我在考虑是否也可以更快地保存到本地CSV。
我在这里尝试过最佳解决方案,但是,它在Amazon Redshift上不起作用,当我使用Copy (SELECT col1, col2 FROM my_table) TO '[my local csv path]' WITH CSV DELIMITER ',';或尝试使用时\Copy,它一直向我显示
Amazon无效操作:“(”或附近的语法错误
要么
Amazon无效操作:“ \”或附近的语法错误
然后,我检查了Amazon Redshift查询教程,没有找到任何可以将输出保存到本地CSV的子句。似乎COPY是将数据从Amazon数据源复制到Redshift,UNLOAD是将数据保存到s3,但我只想将数据保存在本地计算机上。
因此,有什么方法可以通过PSQL将Redshift输出保存到我的本地CSV上 ,但是可以在SQL WorkBench上?
我正在使用 tensorflow2.4,并且是 tensorflow 的新手
这是代码
model = Sequential()
model.add(LSTM(32, input_shape=(X_train.shape[1:])))
model.add(Dropout(0.2))
model.add(Dense(1, activation='linear'))
model.compile(optimizer='rmsprop', loss='mean_absolute_error', metrics='mae')
model.summary()
save_weights_at = 'basic_lstm_model'
save_best = ModelCheckpoint(save_weights_at, monitor='val_loss', verbose=0,
save_best_only=True, save_weights_only=False, mode='min',
period=1)
history = model.fit(x=X_train, y=y_train, batch_size=16, epochs=20,
verbose=1, callbacks=[save_best], validation_data=(X_val, y_val),
shuffle=True)
Run Code Online (Sandbox Code Playgroud)
你知道我为什么会收到这个警告吗?
我正在尝试在 R 中创建动画可视化,人们说需要安装ImageMagick. 但是,现在的 Mac 似乎不再支持 x11,而 ImageMagick 只需要 Mac 上的 X11 服务器。安装 ImageMagick
我也试过brew install imagemagick --with-x11,不起作用,只返回了这么多错误。
Apples 表示需要使用 XQuartz 来替换 x11。我有 XQuartz,但是当我打开它时,在这里输入相同的命令,仍然给我同样的错误
显示:委托库支持不是内置的 '' (X11) @ error/display.c/DisplayImageCommand/1891。
所以,我的问题是,如何在 Mac XQuartz 上安装和使用 ImageMagick?
最近,我正在做多个实验来比较Python XgBoost和LightGBM.似乎这个LightGBM是一种新算法,人们说它在速度和准确性方面都比XGBoost更好.
这是LightGBM GitHub.这是LightGBM python API文档,在这里你可以找到你可以调用的python函数.它可以直接从LightGBM模型调用,也可以通过LightGBM scikit-learn调用.
这是我使用的XGBoost Python API.如您所见,它与上面的LightGBM python API具有非常相似的数据结构.
这是我尝试过的:
train()在XGBoost和LightGBM中使用方法,是的lightGBM工作得更快,准确度更高.但是这种方法没有交叉验证.cv()在两种算法中尝试方法,则用于交叉验证.但是,我没有找到一种方法来使用它返回一组最佳参数.GridSearchCV()使用LGBMClassifier和XGBClassifer进行scikit-learn .它适用于XGBClassifer,但对于LGBClassifier,它永远运行.以下是GridSearchCV()与两个分类器一起使用时的代码示例:
带GridSearchCV的XGBC分类器
param_set = {
'n_estimators':[50, 100, 500, 1000]
}
gsearch = GridSearchCV(estimator = XGBClassifier( learning_rate =0.1,
n_estimators=100, max_depth=5,
min_child_weight=1, gamma=0, subsample=0.8, colsample_bytree=0.8,
nthread=7,
objective= 'binary:logistic', scale_pos_weight=1, seed=410),
param_grid = param_set, scoring='roc_auc',n_jobs=7,iid=False, cv=10)
xgb_model2 = gsearch.fit(features_train, label_train)
xgb_model2.grid_scores_, xgb_model2.best_params_, xgb_model2.best_score_
Run Code Online (Sandbox Code Playgroud)
这对XGBoost非常有效,只需几秒即可完成.
LightGBM与GridSearchCV
param_set = {
'n_estimators':[20, 50]
}
gsearch …Run Code Online (Sandbox Code Playgroud) 我尝试了2种绘制ROC曲线并获得每个ROC曲线的AUC的方法。
方法1-
第一种方法很简单,但我不知道如何一起绘制多个ROC曲线。我只是在使用roc.curve(hacide.test$cls, pred_rose[,2]),输出将显示ROC曲线并给出AUC。
方法2 我现在可以一起绘制多条ROC曲线,但是无法同时获得AUC。这是我将多个ROC曲线绘制在一起的方式:
library(ROCR)
pd1 <- prediction(pred_rose[,2], hacide.test$cls)
pf1 <- performance(pd1, "tpr","fpr")
pd2 <- prediction(pred_both[,2], hacide.test$cls)
pf2 <- performance(pd2, "tpr","fpr")
plot(pf1, colorize = TRUE)
plot(pf2, add = TRUE, colorize = TRUE)
Run Code Online (Sandbox Code Playgroud)
这是我获得AUC的方式:
pf <- performance(pd3, "auc")
pf # y.values is the AUC
Run Code Online (Sandbox Code Playgroud)
如您所见,当我使用第二种方法时,performance()用于获得ROC曲线和AUC的方法是不同的。此处pf1,pf2的输出没有AUC值。
方法1比较简单,但是您知道如何使用方法1一起绘制ROC曲线并仍然保留每个AUC值吗?
我知道Spark Sql与Hive几乎相同。
现在,我已经创建了一个表,并且在执行Spark sql查询以创建表索引时,它总是给我这个错误:
SQL语句中的错误:AnalysisException:输入索引不匹配”期望AS在创建索引语句中靠近')'
我正在使用的Spark sql查询是:
CREATE INDEX word_idx ON TABLE t (id)
Run Code Online (Sandbox Code Playgroud)
id的数据类型为bigint。在此之前,我还尝试在此表的“ word”列上创建表索引,它给了我同样的错误。
那么,是否有通过Spark sql查询创建索引的方法呢?
我需要将给定的T-SQL语句翻译成另一种语言.这些T-SQL语句正在使用DECLARE TABLE.DECLARE TABLE和之间有什么区别CREATE TABLE?
例如,以下两行之间有什么区别?
declare @t table (account_id varchar(512), num_events int);
Run Code Online (Sandbox Code Playgroud)
Create table t {account_id varchar(512), num_events int}
Run Code Online (Sandbox Code Playgroud) 我正在与其他用户共享的集群上使用 Spark。所以仅仅根据运行时间来判断我的哪一个代码运行效率更高是不可靠的。因为当我运行更高效的代码时,其他人可能会运行大量数据,并使我的代码执行更长时间。
那么我可以在这里问两个问题吗:
我正在使用joinfunction 来 join 2RDDs并且我尝试groupByKey()在 using 之前使用join,如下所示:
rdd1.groupByKey().join(rdd2)
Run Code Online (Sandbox Code Playgroud)
似乎花了更长的时间,但是我记得当我使用 Hadoop Hive 时,group by 让我的查询运行得更快。由于 Spark 使用惰性求值,我想知道groupByKeybefore是否join会让事情变得更快
我注意到Spark有一个SQL模块,到目前为止我真的没有时间尝试它,但是我可以问一下SQL模块和RDD SQL类似功能之间有什么区别吗?
python ×3
pyspark ×2
sql-server ×2
airflow ×1
apache-spark ×1
auc ×1
grid-search ×1
imagemagick ×1
indexing ×1
lightgbm ×1
lstm ×1
macos ×1
pipeline ×1
psql ×1
r ×1
rdd ×1
roc ×1
t-sql ×1
tensorflow ×1
version ×1
warnings ×1
xgboost ×1
xquartz ×1