小编Chr*_*now的帖子

没有服务器的实时密谋散景python Flask

我想在python flask web应用程序中使用bokeh.不幸的是,我无法使用原生散景服务器运行实时绘图,因为我只有我的Bluemix应用程序中可用的端口(受Cloud Foundry限制),这已经被python flask应用程序使用了.遗憾的是,Bluemix和Python烧瓶的设置和架构无法改变.所以我试着深入了解与JavaScript Callbacks的交互是如何工作的.但我正在努力实现,我不确定我的想法是否有效.

我使用"正常"散景过程定义散点图:

output_file("callback.html")

X = np.random.uniform(0, 100, 100)
e = np.random.normal(0, 1, 100)
Y = 10 + 20 * X + e

source = ColumnDataSource(data=dict(x=X, y=Y))

plot = Figure(plot_width=400, plot_height=400)
plot.scatter('x', 'y', source=source, line_width=3, line_alpha=0.6)


def callback(source=source, window=None):
    data = source.get('data')
    x, y = data['x'], data['y']
    x.append((random.uniform(0,1) * 10))
    y.append(10 + 20* random.normalvariate(0,1))
    source.trigger('change')

layout = column(plot)

show(layout)
Run Code Online (Sandbox Code Playgroud)

我知道我肯定错过了一个事件,它定期调用回调,但我不知道如何表明.我们的想法是,绘图应该基于新的数据点进行更新,该数据点在回调函数中以周期性间隔生成.

我希望有一种方法,因为它可以通过散景服务器,我已经得到代码工作.非常感谢您的时间,我将感谢任何答案,评论或建议做什么!

python heroku flask bokeh ibm-cloud

5
推荐指数
0
解决办法
485
查看次数

减少 ggpairs 图中的线条粗细和“Corr:”字体大小

我正在做 ggpairs 图,但回归线太粗,并且“Corr:”文本字体太大。

data(mtcars)
head(mtcars)

mtcars$am <- as.factor(mtcars$am)

g <- ggpairs( 
  data = mtcars,
  lower = list(
    continuous = wrap("smooth", alpha = 0.3, color = "blue") 
    )
  )
g <- g + theme(
    axis.text = element_text(size = 6),
    axis.title = element_text(size = 6),
    legend.background = element_rect(fill = "white"),
    panel.grid.major = element_line(colour = NA),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "grey95")
  )
print(g, bottomHeightProportion = 0.5, leftWidthProportion = .5)
Run Code Online (Sandbox Code Playgroud)

这是输出:

在此输入图像描述

我在GGally文档中找不到可以设置它的地方。

有什么指点吗?

r ggplot2 ggally

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

如何为 kafka-python kafka.KafkaProducer#send() 添加失败回调?

如果生成的记录失败,我想设置要触发的回调。最初,我只想记录失败的记录。

Confluent Kafka python 库提供了一种添加回调的机制:

produce(topic[, value][, key][, partition][, on_delivery][, timestamp])
...
    on_delivery(err,msg) (func) – Delivery report callback to call (from poll() or flush()) on successful or failed delivery
Run Code Online (Sandbox Code Playgroud)

如何使用 kafka-python kafka.KafkaProducer#send()实现类似的行为,而不必使用已弃用的 SimpleClient 使用 kafka.SimpleClient#send_produce_request()

kafka-python

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

如何使用参数微分获得二阶导数?

如果我有两个参数方程,例如x = 2*ty = t**2 - 3,我可以将它们区分如下:

>>> x, y, t = symbols('x, y, t')
>>> x = 2*t
>>> y = t**2 - 3
>>> diff(y)/diff(x)
t
Run Code Online (Sandbox Code Playgroud)

要获得二阶导数:

>>> (diff(x,t,1)*diff(y,t,2) - diff(y,t,1)*diff(x,t,2)) / diff(x,t,1)**3
1/2
Run Code Online (Sandbox Code Playgroud)

我可以用同意的方式来计算这个吗?

也许把它包装在一个函数中就是我应该做的事情?

>>> def second_derivative(x,y):  
>>>   return (diff(x,t,1)*diff(y,t,2) - diff(y,t,1)*diff(x,t,2)) / diff(x,t,1)**3
Run Code Online (Sandbox Code Playgroud)

然后它变成:

>>> second_derivative(2*t, t**2 - 3)
1/2
Run Code Online (Sandbox Code Playgroud)

sympy

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

org.apache.spark.sql.AnalysisException:无法在流数据集/数据帧上调用“write”

我正在尝试将 Spark 结构化流 (2.3) 数据集写入 ScyllaDB (Cassandra)。

我编写数据集的代码:

  def saveStreamSinkProvider(ds: Dataset[InvoiceItemKafka]) = {
    ds
      .writeStream
      .format("cassandra.ScyllaSinkProvider")
      .outputMode(OutputMode.Append)
      .queryName("KafkaToCassandraStreamSinkProvider")
      .options(
        Map(
          "keyspace" -> namespace,
          "table" -> StreamProviderTableSink,
          "checkpointLocation" -> "/tmp/checkpoints"
        )
      )
      .start()
  }
Run Code Online (Sandbox Code Playgroud)

我的 ScyllaDB 流接收器:

class ScyllaSinkProvider extends StreamSinkProvider {
  override def createSink(sqlContext: SQLContext,
                          parameters: Map[String, String],
                          partitionColumns: Seq[String],
                          outputMode: OutputMode): ScyllaSink =
    new ScyllaSink(parameters)
}

class ScyllaSink(parameters: Map[String, String]) extends Sink {
  override def addBatch(batchId: Long, data: DataFrame): Unit =
    data.write
            .cassandraFormat(
              parameters("table"),
              parameters("keyspace")
              //parameters("cluster")
            )
      .mode(SaveMode.Append)
      .save() …
Run Code Online (Sandbox Code Playgroud)

apache-spark spark-streaming spark-structured-streaming

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

批/离线处理设计书/文档

是否有书籍或任何文档描述了设计批次(离线)流程以便在双方之间共享数据的最佳实践?

我在spring批次站点上找到了一些有用的信息,但它的级别很低: 批处理策略批处理原则指南.

批次有很多注意事项,例如:

  1. 数据传输方法(例如文件)
  2. 双方之间的控制协议
  3. 错误处理
  4. 文件命名约定(如果使用文件进行传输)
  5. 同步双方的截止时间
  6. 等等

如果有一些授权文件或清单确保设计遵循该领域的最佳实践,那将是一件好事.


更新:

当我遇到它们时,我将添加本节的答案.

一般批处理/离线处理信息

本节摘自@ user1813068的答案.

你会发现在这个区的一些建筑设计模式的链接,并也是在这个链接描述为合作伙伴集成合作伙伴和数据同步方法.

此维基百科页面还提供了架构模式的高级概述,并包括数据集成的模式:架构模式.

" 数据集成蓝图和建模 "一书也非常好.

数据文件

本节中的大部分内容来自此处:来源

使用页眉和页脚进行平面文件交换被认为是最佳实践.可以在没有页眉和页脚的情况下交换平面文件,并且文件的命名可以概述与标题相同的一些信息.使用分隔文件时,始终需要字段列表标题.

在系统之间交换数据时,接收方确切地知道正在发送什么类型的数据是非常重要的.确保这一点的一种方法是提供标题行,其中包括有关数据内容及其处理方式的相关信息.

使用平面文件时,文件名本身也可用于通知接收方文件内容.但是,标题行可以为所有可用选项提供更好的支持.

使用API​​时,可以以类似的方式提供这些标题字段.实施将由API服务的开发人员确定.

如果包含标头,则它由一组数据组成,并且必须始终是文件中的第一个数据.

页脚

当使用基于文件的格式来指示没有剩余的数据要处理时,可以提供页脚.

处理时,应忽略在页脚行之后找到的数据.此外,在创建数据时,请注意页脚行之后的任何数据都将被忽略.

数据格式

分隔文件

事实上的行业标准是分隔文件.

逗号分隔(CSV或逗号分隔值)文件通常需要数据封装,通常使用双引号(");然后必须使用反斜杠()或双引号("")对双引号进行转义.对于CSV实现中的不一致性,建议使用制表符作为分隔符,不进行封装.在这种情况下,必须从数据中删除制表符.分隔文件通常可以更快地处理XML文件.

XML文件

业内有一些人更喜欢XML文件.XML允许更清晰地表示信息,因为它支持嵌套数据.许多公司对此格式的支持有限或不支持,因此不建议这样做.

编码

UTF-8编码

所有数据都应采用UTF-8编码,以确保所有系统之间的最大兼容性.

日期和时间

建议对所有日期和时间字段使用UTC时间以防止混淆.


一些更好的实践:EDI调度和文件传输

architecture batch-processing

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

Netbeans 7.3如何设置MAVEN_OPTS,例如MaxPermSize

使用Netbeans 7.3时,如何设置maven构建操作属性以设置MAVEN_OPTS.例如

-Xms512m -Xmx1024m -XX:MaxPermSize=1024m

maven netbeans-7

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

uml序列图 - 建模应用于操作的通用行为

我有一个序列图,客户端进行初始调用以建立会话.在该初始调用之后,检查在服务器上调用的每个后续操作(例如,调用X,调用Y,调用Z)以查看该会话是否存在.有没有办法一般地描述这种行为,而不必为每一个电话显示它?我想一个选项是添加一个音符,但可能有更好的方法吗?

会话序列图

uml

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

Scala函数组合

def t[A] = (l:List[A]) => l tail
def r[A] = (r:List[A]) => r reverse
def tr[A] :List[A] => List[A] = t compose r

tr(List(1,2,3,4))
Run Code Online (Sandbox Code Playgroud)

清单(3,2,1)

正如所料.

但不知何故,我试过的每个变体(有几种类型的注释)

def tr = tail compose reverse
Run Code Online (Sandbox Code Playgroud)

失败(未找到 - 值尾).我错过了一些明显的东西,但我被困住了.

scala function

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

Groovy HTTPBuilder 后文件上传没有多部分/表单数据?

如何使用 HTTPBuilder 在 groovy 中执行 HTTP post,上传文件的原始字节而不使用 multipart/form-data?具体来说,我希望我的请求如下所示:

POST http://....
Host: myhost
Content-Length: numBytes
Proxy-Connection: Keep-Alive

Raw Data
Run Code Online (Sandbox Code Playgroud)

upload groovy post file httpbuilder

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