小编Wah*_*vic的帖子

无需保存即可获取 PIL 图像的二进制表示

我正在编写一个大量使用图像的应用程序。它由两部分组成。客户端部分是用Python编写的。它对图像进行一些预处理,然后通过 TCP 将它们发送到 Node.js 服务器。预处理后,Image 对象如下所示:

window = img.crop((x,y,width+x,height+y))
window = window.resize((48,48),Image.ANTIALIAS)
Run Code Online (Sandbox Code Playgroud)

要通过套接字发送它,我必须以二进制格式保存它。我现在正在做的是:

window.save("window.jpg")
infile = open("window.jpg","rb")
encodedWindow = base64.b64encode(infile.read())
#Then send encodedWindow 
Run Code Online (Sandbox Code Playgroud)

不过,这是一个巨大的开销,因为我首先将图像保存到硬盘,然后再次加载以获得二进制格式。这导致我的应用程序非常慢。我阅读了 PIL Image 的文档,但发现没有任何有用的东西。

python sockets node.js python-imaging-library

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

Python docker-py连接被拒绝

我在使用Python中的docker-py从客户端访问docker守护程序时遇到问题.我通过命令启动了一个docker守护进程, sudo docker -d &输出结果是[1] 4894.然后我尝试使用我从这里以root身份 获得的代码从python访问守护进程

from docker import Client
cli = Client(base_url='unix://var/run/docker.sock')
cli.containers()
Run Code Online (Sandbox Code Playgroud)

这给了我错误:

requests.exceptions.ConnectionError: ('Connection aborted.', error(111, 'Connection refused'))
Run Code Online (Sandbox Code Playgroud)

我也试过了

cli = Client(base_url='tcp://127.0.0.1:4894') 
Run Code Online (Sandbox Code Playgroud)

但它给了我同样的错误.

python docker dockerpy

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

Spark错误:无法找到存储在数据集中的类型的编码器

我在Zeppelin笔记本上使用Spark,而groupByKey()似乎不起作用.

这段代码:

df.groupByKey(row => row.getLong(0))
  .mapGroups((key, iterable) => println(key))
Run Code Online (Sandbox Code Playgroud)

给我这个错误(可能是一个编译错误,因为它在我正在处理的数据集很大的时候很快出现):

error: Unable to find encoder for type stored in a Dataset.  Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._  Support for serializing other types will be added in future releases.
Run Code Online (Sandbox Code Playgroud)

我尝试添加一个case类并将所有行映射到它中,但仍然遇到了同样的错误

import spark.implicits._

case class DFRow(profileId: Long, jobId: String, state: String)

def getDFRow(row: Row):DFRow = {
    return DFRow(row.getLong(row.fieldIndex("item0")),
                 row.getString(row.fieldIndex("item1")), 
                 row.getString(row.fieldIndex("item2")))
}

df.map(DFRow(_))
  .groupByKey(row => row.getLong(0))
  .mapGroups((key, iterable) => println(key))
Run Code Online (Sandbox Code Playgroud)

我的Dataframe的架构是:

root
|-- item0: …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-dataset apache-spark-encoders

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