小编dex*_*007的帖子

从本地路径加载图像并在画布上绘制

我想在画布上绘制一个图像,其中图像的源将由用户动态设置.我在尝试为图像设置src时遇到以下错误:

不允许加载本地资源:file:/// D:/My%20Picsb.jpg'

有没有办法从本地驱动器加载文件在画布上绘制它们?

var img = new Image();
img.onload = function () {  
    context.drawImage(img, 20, 20, 50, 50);
};

img.src = "D:\My Pics\tb.jpg";
Run Code Online (Sandbox Code Playgroud)

javascript html5-canvas

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

如何在awaitTermination之后获取流式查询的进度?

我是 Spark 新手,正在阅读一些有关监控 Spark 应用程序的内容。基本上,我想知道 Spark 应用程序在给定的触发时间内处理了多少条记录以及查询进度。我知道“lastProgress”给出了所有这些指标,但是当我将awaitTermination与“lastProgress”一起使用时,它总是返回null。

 val q4s = spark.readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", brokers)
  .option("subscribe", topic)
  .option("startingOffsets", "earliest")
  .load()
  .writeStream
  .outputMode("append")
  .option("checkpointLocation", checkpoint_loc)
  .trigger(Trigger.ProcessingTime("10 seconds"))
  .format("console")
  .start()

  println("Query Id: "+ q4s.id.toString())
  println("QUERY PROGRESS.........")
println(q4s.lastProgress);
q4s.awaitTermination();
Run Code Online (Sandbox Code Playgroud)

输出:

Query Id: efd6bc15-f10c-4938-a1aa-c81fdb2b33e3
QUERY PROGRESS.........
null
Run Code Online (Sandbox Code Playgroud)

如何在使用awaitTermination时获取查询的进度,或者如何在不使用awaitTermination的情况下保持查询持续运行?

提前致谢。

apache-spark spark-structured-streaming

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

如何从 Spark 结构化流中的特定 Kafka 分区读取数据

我的 Kafka 主题有三个分区,我想知道是否可以仅从三个分区中的一个进行读取。我的消费者是 Spark 结构化流应用程序。

以下是我在 Spark 中现有的 Kafka 设置。

  val inputDf = spark.readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", brokers)
  .option("subscribe", topic)
  .option("startingOffsets", "latest")
  .load()
Run Code Online (Sandbox Code Playgroud)

apache-kafka kafka-consumer-api spark-structured-streaming spark-streaming-kafka

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

如何知道流式查询用于Kafka数据源的Kafka消费者组的名称?

我通过 Spark 结构化流处理来自 kafka 主题的数据,该主题有 3 个分区。由于 Spark 结构化流不允许您显式提供 group.id 并向消费者分配一些随机 id,因此我尝试使用下面的 kafka 命令检查消费者组 id

./kafka-consumer-groups.sh --bootstrap-server kfk01.sboxdc.com:9092,kfk02.sboxdc.com:9092,kfk03.sboxdc.com:9092 --list

output
 spark-kafka-source-054e8dac-bea9-46e8-9374-8298daafcd23--1587684247-driver-0
 spark-kafka-source-756c08e8-6a84-447c-8326-5af1ef0412f5-209267112-driver-0
 spark-kafka-source-9528b191-4322-4334-923d-8c1500ef8194-2006218471-driver-0
Run Code Online (Sandbox Code Playgroud)

以下是我的问题

1)为什么要创建3个消费者组?是因为有3个分区吗?

2)有什么方法可以在spark应用程序中获取这些消费者组名称?

3)尽管我的 Spark 应用程序仍在运行,但一段时间后这些组名称没有显示在消费者组列表中。这是因为所有数据都被spark应用程序消耗了并且该kafka主题中没有更多数据了吗?

4)如果我的关于第3点的假设是正确的,那么如果新数据到达,它会创建一个新的消费者组ID还是消费者组的名称将保持不变?

以下是我的阅读流

  val inputDf = spark.readStream
  .format("kafka")
  .option("kafka.bootstrap.servers", brokers)
  .option("subscribe", topic)
 // .option("assign"," {\""+topic+"\":[0]}") 
  .option("startingOffsets", "earliest")
  .option("maxOffsetsPerTrigger", 60000)
  .load()
Run Code Online (Sandbox Code Playgroud)

我的应用程序中有 3 个写入流,如下所示

  val df = inputDf.selectExpr("CAST(value AS STRING)","CAST(topic AS STRING)","CAST (partition AS INT)","CAST (offset AS INT)","CAST (timestamp AS STRING)") 
  val df1 = inputDf.selectExpr("CAST (partition AS INT)","CAST (offset AS INT)","CAST (timestamp AS …
Run Code Online (Sandbox Code Playgroud)

apache-kafka apache-spark spark-structured-streaming

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

使用鼠标事件在HTML5画布上绘制圆/椭圆

我想在画布上画椭圆选项,以便在画布上绘画.我已经部分实现了这一点.问题是我无法获得圆的半径,目前我已将其硬编码为15.此外,我想绘制椭圆(与油漆相同)不是精确的圆.这是我使用鼠标事件在画布上绘制圆圈的代码.请帮助我使用代码来实现我上面提到的要求.

 function tool_circle() {
        var tool = this;
        this.started = false;

        this.mousedown = function (ev) {
            tool.started = true;
            tool.x0 = ev._x;
            tool.y0 = ev._y;
        };

        this.mousemove = function (ev) {
            if (!tool.started) {
                return;
            }

            context.fillStyle = 'red';

            var distance = Math.sqrt(Math.pow(tool.x0 - ev._x, 2) + Math.pow(tool.y0 - ev._y));
            context.beginPath();

            context.arc(tool.x0, tool.y0,15, 0, Math.PI * 2, false);
            context.stroke();
            context.fill();
        };

        this.mouseup = function (ev) {
            if (tool.started) {
                tool.mousemove(ev);
                tool.started = false;
                img_update();
            }
        };
    }
Run Code Online (Sandbox Code Playgroud)

javascript canvas

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

从容器拖动控件并在画布上放置/绘制它们

我想允许用户从一个div容器拖动图标并放下并在画布上绘制它们,保持原始图标不变.图标在表格上动态添加.当我拖动图标时,我也希望用光标拖动图标效果.当我使用"helper:'clone'"属性时,我得到效果但是删除的位置不正确,当我删除此属性时,原始图标被删除.

我的父容器图标

     <div id="dvEquipmentTool" style="removed: absolute; border: 1px solid rgb(173, 201, 247);
    display: block; background-color: white; height: 400px; z-index: 50000; padding: 3px;
    removed 100px; removed 50px; width: 200px !important;" class="ui-draggable">
    <table id="tbEquipmentTool" border="0" style="background-color: White; padding-left: 10px;
        max-height: 400px !important;">
        <tbody>
            <tr id="tRow1">
                <td>
                    <img src="" id="imgEquipIcon1" class="ui-draggable" style="position: relative; left: 473px;
                        top: 183px;">
                </td>
                <td>
                    <span id="lblImgEquipName1" class="label">10-FL-105-A20</span><span id="lblImgEquipID1"
                        class="label" style="display: none;">100200</span>
                </td>
                <td width="10px">
                </td>
            </tr>
            <tr id="tRow2">
                <td>
                    <img src="" id="imgEquipIcon2" class="ui-draggable" style="position: relative;">
                </td>
                <td>
                    <span …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 canvas

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

在火花结构化流中动态更改 hdfs 写入路径

我有一个 Spark 结构化流应用程序,它从 kafka 读取数据并将其写入 hdfs。我想根据当前日期动态更改 hdfs 写入路径,但结构化流媒体似乎不能那样工作。它只是创建一个应用程序启动日期的文件夹,即使日期发生变化,也会继续写入同一文件夹。有什么办法可以根据当前日期动态更改路径?

下面是我的 writestream 的样子

 val inputFormat = new SimpleDateFormat("yyyy-MM-dd")
 val outPath = "maindir/sb_topic/data/loaddate="

val dswWriteStream =dfresult.writeStream
    .outputMode(outputMode) 
    .format(writeformat) 
    .option("path",outPath+inputFormat.format((new java.util.Date()).getTime())) //hdfs file write path
    .option("checkpointLocation", checkpointdir) 
    .option("maxRecordsPerFile", 999999999) 
    .trigger(Trigger.ProcessingTime("10 minutes")) 
Run Code Online (Sandbox Code Playgroud)

apache-spark spark-streaming spark-structured-streaming

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

调用类中定义的类外的python方法

import math

class Circle(object):    
    def __init__(this,x,y,rad):
        this.x=x
        this.y=y
        this.rad=rad

    def relate(circ1,circ2):
        diff=__posDiff((circ1.x,circ1.y),(circ2.x,circ2.y))
        print diff

def __posDiff(p1,p2):
    diff=math.sqrt((p1[0]-p2[0])**2 + (p1[1]-p2[1])**2)
    return diff
Run Code Online (Sandbox Code Playgroud)

当我尝试运行上面的代码时,我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "Circle.py", line 18, in relate
    diff=__posDiff((circ1.x,circ1.y),(circ2.x,circ2.y))
NameError: global name '_Circle__posDiff' is not defined
Run Code Online (Sandbox Code Playgroud)

相当新的python,无法弄清楚如何在类中调用函数.如果有人可以帮助和解释

python

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