我想在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)
我知道我肯定错过了一个事件,它定期调用回调,但我不知道如何表明.我们的想法是,绘图应该基于新的数据点进行更新,该数据点在回调函数中以周期性间隔生成.
我希望有一种方法,因为它可以通过散景服务器,我已经得到代码工作.非常感谢您的时间,我将感谢任何答案,评论或建议做什么!
我正在做 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文档中找不到可以设置它的地方。
有什么指点吗?
如果生成的记录失败,我想设置要触发的回调。最初,我只想记录失败的记录。
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()
如果我有两个参数方程,例如x = 2*t和y = 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) 我正在尝试将 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) 是否有书籍或任何文档描述了设计批次(离线)流程以便在双方之间共享数据的最佳实践?
我在spring批次站点上找到了一些有用的信息,但它的级别很低: 批处理策略和批处理原则指南.
批次有很多注意事项,例如:
如果有一些授权文件或清单确保设计遵循该领域的最佳实践,那将是一件好事.
当我遇到它们时,我将添加本节的答案.
本节摘自@ user1813068的答案.
你会发现在这个区的一些建筑设计模式的链接,并也是在这个链接描述为合作伙伴集成合作伙伴和数据同步方法.
此维基百科页面还提供了架构模式的高级概述,并包括数据集成的模式:架构模式.
" 数据集成蓝图和建模 "一书也非常好.
本节中的大部分内容来自此处:来源
使用页眉和页脚进行平面文件交换被认为是最佳实践.可以在没有页眉和页脚的情况下交换平面文件,并且文件的命名可以概述与标题相同的一些信息.使用分隔文件时,始终需要字段列表标题.
在系统之间交换数据时,接收方确切地知道正在发送什么类型的数据是非常重要的.确保这一点的一种方法是提供标题行,其中包括有关数据内容及其处理方式的相关信息.
使用平面文件时,文件名本身也可用于通知接收方文件内容.但是,标题行可以为所有可用选项提供更好的支持.
使用API时,可以以类似的方式提供这些标题字段.实施将由API服务的开发人员确定.
如果包含标头,则它由一组数据组成,并且必须始终是文件中的第一个数据.
当使用基于文件的格式来指示没有剩余的数据要处理时,可以提供页脚.
处理时,应忽略在页脚行之后找到的数据.此外,在创建数据时,请注意页脚行之后的任何数据都将被忽略.
分隔文件
事实上的行业标准是分隔文件.
逗号分隔(CSV或逗号分隔值)文件通常需要数据封装,通常使用双引号(");然后必须使用反斜杠()或双引号("")对双引号进行转义.对于CSV实现中的不一致性,建议使用制表符作为分隔符,不进行封装.在这种情况下,必须从数据中删除制表符.分隔文件通常可以更快地处理XML文件.
XML文件
业内有一些人更喜欢XML文件.XML允许更清晰地表示信息,因为它支持嵌套数据.许多公司对此格式的支持有限或不支持,因此不建议这样做.
UTF-8编码
所有数据都应采用UTF-8编码,以确保所有系统之间的最大兼容性.
日期和时间
建议对所有日期和时间字段使用UTC时间以防止混淆.
一些更好的实践:EDI调度和文件传输
使用Netbeans 7.3时,如何设置maven构建操作属性以设置MAVEN_OPTS.例如
-Xms512m -Xmx1024m -XX:MaxPermSize=1024m
我有一个序列图,客户端进行初始调用以建立会话.在该初始调用之后,检查在服务器上调用的每个后续操作(例如,调用X,调用Y,调用Z)以查看该会话是否存在.有没有办法一般地描述这种行为,而不必为每一个电话显示它?我想一个选项是添加一个音符,但可能有更好的方法吗?

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)
失败(未找到 - 值尾).我错过了一些明显的东西,但我被困住了.
如何使用 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) apache-spark ×1
architecture ×1
bokeh ×1
file ×1
flask ×1
function ×1
ggally ×1
ggplot2 ×1
groovy ×1
heroku ×1
httpbuilder ×1
ibm-cloud ×1
kafka-python ×1
maven ×1
netbeans-7 ×1
post ×1
python ×1
r ×1
scala ×1
sympy ×1
uml ×1
upload ×1