小编use*_*973的帖子

如何在Windows上使用Python的协议缓冲区?

我一直在尝试在我的Python程序中使用协议缓冲区,但无法使其工作.我正在运行Windows 8机器,并尝试过Python 2.7.6和Python 3.3.我下载了Python的二进制协议缓冲编译器并用它myProto_pb2.py从我的myProto.proto文件生成,但是当我运行我的Python程序时出现以下错误:

从"import myProto_pb2"行,从协议缓冲区版本2.5使用Python 2.7.6时出现以下错误:

from google.protobuf import descriptor as _descriptor
  ImportError: No module named google.protobuf
Run Code Online (Sandbox Code Playgroud)

如何在Windows上从Python正确安装和运行协议缓冲区?

python protocol-buffers protoc

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

在整行上使用udf过滤Pyspark Dataframe

有没有办法选择整个行作为列输入到Pyspark过滤器udf中?

我有一个复杂的过滤功能“ my_filter”,我想将其应用于整个DataFrame:

my_filter_udf = udf(lambda r: my_filter(r), BooleanType())
new_df = df.filter(my_filter_udf(col("*"))
Run Code Online (Sandbox Code Playgroud)

col("*")
Run Code Online (Sandbox Code Playgroud)

抛出错误,因为这不是有效的操作。

我知道我可以将数据帧转换为RDD,然后使用RDD的filter方法,但是我不想将其转换为RDD,然后再转换为数据帧。我的DataFrame具有复杂的嵌套类型,因此当我尝试再次将RDD转换为数据帧时,架构推断将失败。

user-defined-functions apache-spark-sql pyspark

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