小编Ale*_*Ott的帖子

如何在 python 中从 mlflow 下载工件

我正在创建一个 mlflow 实验,它将逻辑回归模型以及指标和工件记录在一起。

import mlflow
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import precision_recall_fscore_support

with mlflow.start_run(run_name=run_name, experiment_id=experiment_id):

        logreg = LogisticRegression()
        logreg.fit(x_train, y_train)
        print('training over', flush=True)
        y_pred = logreg.predict(x_test)
        mlflow.sklearn.log_model(logreg, "model")
   
        mlflow.log_metric("f1", precision_recall_fscore_support(y_test, y_pred, average='weighted')[2])
        mlflow.log_artifact(x_train.to_csv('train.csv')
Run Code Online (Sandbox Code Playgroud)

对于某些数据 ( x_train, y_train, x_test, y_test)

有没有办法访问此 run_name 的特定实验 ID 的工件并读取train.csvmodel

python python-3.x mlflow mlops

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

在 Databricks 笔记本中显示图像错误

我正在努力创建带有公司徽标的 databricks 笔记本模板。使用下面的代码显示图像会引发错误。

代码:

%md
<img src ='/test/image/MyImage.jpg'>
Run Code Online (Sandbox Code Playgroud)

错误:

HTTP ERROR 403: Invalid or missing CSRF token
Run Code Online (Sandbox Code Playgroud)

请指导我。

databricks azure-databricks azure-data-lake-gen2

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

Databricks DELTA CTAS 与使用 %sql 的 LOCATION

DELTA不具有CREATE TABLE LIKE。它确实有CTAS

我只想复制表的定义LOCATION,但还要指定.

例如,这不起作用:

CREATE TABLE IF NOT EXISTS NEW_CUSTOMER_FEED 
AS SELECT * from NEW_CUSTOMER_FEED WHERE 1 = 0 
LOCATION '/atRest/data'
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

databricks delta-lake databricks-sql

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

Gremlin:投影所有标签和每个标签的数量

我目前有一个查询,可以提供每个标签的计数: g.V().group().by(label).by(count())

然而,这会导致每个标签都有一列。我想投影两列“实体类型”和“计数”并计算每个标签的数量。到目前为止,这就是我所拥有的一切,但它是不正确的:

g.V().project('Entity Type','Count')
.by(label)
.by(groupCount())
Run Code Online (Sandbox Code Playgroud)

orientdb gremlin

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

此操作不支持一致性级别 LOCAL_ONE。支持的一致性级别有:LOCAL_QUORUM

我正在使用 AWS keyspaces 并尝试从 C# 插入数据,但收到此错误。“此操作不支持一致性级别 LOCAL_ONE。支持的一致性级别为:LOCAL_QUORUM”。有人可以帮忙吗?

AWS密钥空间

CREATE KEYSPACE IF NOT EXISTS "DevOps"
   WITH REPLICATION={'class': 'SingleRegionStrategy'} ;
Run Code Online (Sandbox Code Playgroud)

桌子

CREATE TABLE IF NOT EXISTS "DevOps"."projectdetails" (
"id" UUID PRIMARY KEY,
"name" text,
"lastupdatedtime" timestamp,
"baname" text,
"customerid" UUID)
Run Code Online (Sandbox Code Playgroud)

C# 代码

 public async Task AddRecord(List<projectdetails> projectDetails)
        {

            try
            {
                if (projectDetails.Count > 0)
                {
                    foreach (var item in projectDetails)
                    {
                        projectdetails projectData = new projectdetails();
                        projectData.id = item.id;
                        projectData.name = item.name;
                        projectData.baname = "Vishal";
                        projectData.lastupdatedtime = item.lastupdatedtime;
                        projectData.customerid = 1;
                        await …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services cassandra amazon-keyspaces

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

如何在 GCS 中的增量表之上创建 BQ 外部表并仅显示最新快照

我正在尝试在增量表之上创建一个外部 BQ 外部表,该表使用谷歌存储作为存储层。在增量表上,我们执行 DML,其中包括删除。

我可以在所有增量文件都存在的 gs 存储桶顶部创建一个 BQ 外部表。然而,它甚至会拉取删除记录,因为 BQ 外部表无法读取 delta 的事务日志,其中它说明要考虑哪些 parquet 文件以及要删除哪些文件。

除了以编程方式将数据从 delta 复制到 BQ 之外,有没有一种方法可以将 BQ 中的 delta 表(gs 位置)的最新快照公开为外部表?

google-cloud-storage google-bigquery pyspark delta-lake

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

从 databricks 中的另一个笔记本返回数据帧

我有一个笔记本,它将处理该文件并以结构化格式创建数据框。现在我需要导入在另一个笔记本中创建的数据框,但问题是在运行笔记本之前我需要验证仅适用于我需要运行的某些场景。

通常要导入所有数据结构,我们使用%run。但就我而言,它应该是 if 子句和 then notebook run 的组合

if "dataset" in path": %run ntbk_path

它给出错误“路径不存在”

if "dataset" in path": dbutils.notebook.run(ntbk_path)

这个我无法获得所有的数据结构。

有人可以帮我解决这个错误吗?

pyspark databricks azure-databricks

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

为什么 Spark 中的年和月函数会导致长溢出?

我正在尝试从 Spark 中名为 logtimestamp (类型为 TimeStampType)的列创建年份和月份列。数据源是cassandra。我正在使用 Sparkshell 来执行这些步骤,这是我编写的代码 -

import org.apache.spark.sql.cassandra._
import org.apache.spark.sql.types._
var logsDF = spark.read.cassandraFormat("tableName", "cw").load()
var newlogs = logsDF.withColumn("year", year(col("logtimestamp")))
 .withColumn("month", month(col("logtimestamp")))
newlogs.write.cassandraFormat("tableName_v2", "cw")
 .mode("Append").save()
Run Code Online (Sandbox Code Playgroud)

但这些步骤没有成功,我最终出现以下错误

java.lang.ArithmeticException: long overflow
    at java.lang.Math.multiplyExact(Math.java:892)
    at org.apache.spark.sql.catalyst.util.DateTimeUtils$.millisToMicros(DateTimeUtils.scala:205)
    at org.apache.spark.sql.catalyst.util.DateTimeUtils$.fromJavaTimestamp(DateTimeUtils.scala:166)
    at org.apache.spark.sql.catalyst.CatalystTypeConverters$TimestampConverter$.toCatalystImpl(CatalystTypeConverters.scala:327)
    at org.apache.spark.sql.catalyst.CatalystTypeConverters$TimestampConverter$.toCatalystImpl(CatalystTypeConverters.scala:325)
    at org.apache.spark.sql.catalyst.CatalystTypeConverters$CatalystTypeConverter.toCatalyst(CatalystTypeConverters.scala:107)
    at org.apache.spark.sql.catalyst.CatalystTypeConverters$StructConverter.toCatalystImpl(CatalystTypeConverters.scala:252)
    at org.apache.spark.sql.catalyst.CatalystTypeConverters$StructConverter.toCatalystImpl(CatalystTypeConverters.scala:242)
    at org.apache.spark.sql.catalyst.CatalystTypeConverters$CatalystTypeConverter.toCatalyst(CatalystTypeConverters.scala:107)
    at org.apache.spark.sql.catalyst.CatalystTypeConverters$.$anonfun$createToCatalystConverter$2(CatalystTypeConverters.scala:426)
    at com.datastax.spark.connector.datasource.UnsafeRowReader.read(UnsafeRowReaderFactory.scala:34)
    at com.datastax.spark.connector.datasource.UnsafeRowReader.read(UnsafeRowReaderFactory.scala:21)
    at com.datastax.spark.connector.datasource.CassandraPartitionReaderBase.$anonfun$getIterator$2(CassandraScanPartitionReaderFactory.scala:110)
    at scala.collection.Iterator$$anon$10.next(Iterator.scala:459)
    at scala.collection.Iterator$$anon$11.next(Iterator.scala:494)
    at com.datastax.spark.connector.datasource.CassandraPartitionReaderBase.next(CassandraScanPartitionReaderFactory.scala:66)
    at org.apache.spark.sql.execution.datasources.v2.PartitionIterator.hasNext(DataSourceRDD.scala:79)
    at org.apache.spark.sql.execution.datasources.v2.MetricsIterator.hasNext(DataSourceRDD.scala:112)
    at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
    at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
    at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
    at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
    at org.apache.spark.sql.execution.WholeStageCodegenExec$$anon$1.hasNext(WholeStageCodegenExec.scala:755)
    at …
Run Code Online (Sandbox Code Playgroud)

scala cassandra apache-spark spark-cassandra-connector

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

如何访问 Databricks Repos 元数据?

有没有办法访问 Repo 内笔记本内的数据,例如 Repo url 和分支名称?也许是 dbutils 中的东西。

databricks databricks-repos

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

如何在编写蒸汽火花数据帧时指定增量表属性

假设我有一个流数据帧,并且我正在将其写入 Databricks Delta Lake:

someStreamingDf.writeStream
  .format("delta")
  .outputMode("append")
  .start("targetPath")

Run Code Online (Sandbox Code Playgroud)

然后从中创建一个增量表:

spark.sql("CREATE TABLE <TBL_NAME> USING DELTA LOCATION '<targetPath>'
TBLPROPERTIES ('delta.autoOptimize.optimizeWrite'=true)")

Run Code Online (Sandbox Code Playgroud)

失败了AnalysisException: The specified properties do not match the existing properties at <targetPath>

我知道我可以预先创建一个表:

CREATE TABLE <TBL_NAME> (
  //columns
) 
USING DELTA LOCATION "< targetPath >"
TBLPROPERTIES (
  "delta.autoOptimize.optimizeWrite" = true, 
  ....
) 
Run Code Online (Sandbox Code Playgroud)

然后就写入它,但是使用所有列及其类型编写此 SQL 看起来像是一些额外/不必要的工作。那么有没有办法在写入增量表(第一次)时而不是事先指定这些 TBLPROPERTIES?

apache-spark databricks spark-structured-streaming delta-lake

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