我想计算两个向量的协方差,如集合A = [1,2,3,4] B = [5,6,7,8]
Cov(A,B)= Sigma [(ai-AVGa)*(bi-AVGb)] /(n-1)
协方差计算的问题是:
1)我写的时候不能有嵌套的聚合函数
SUM((ai-avg(a)) * (bi-avg(b)))
Run Code Online (Sandbox Code Playgroud)
2)或者在另一种形状中,如何用一个缩小提取两个集合,例如:
REDUCE(x= 0.0, ai IN COLLECT(a) | bi IN COLLECT(b) | x + (ai-avg(a))*(bi-avg(b)))
Run Code Online (Sandbox Code Playgroud)
3)如果无法在oe中提取两个集合,那么在它们分离时减少如何将它们的值相关联以计算协方差
REDUCE(x= 0.0, ai IN COLLECT(a) | x + (ai-avg(a)))
REDUCE(y= 0.0, bi IN COLLECT(b) | y + (bi-avg(b)))
Run Code Online (Sandbox Code Playgroud)
我的意思是我可以编写嵌套的reduce吗?
4)有什么方法可以"放松","提取"
谢谢你提前获得任何帮助.
我在使用Hadoop Streaming.jar在Hadoop上执行mapreduce python文件时遇到问题。
我使用的是Windows 10 64位Python 3.6,而我的IDE是spyder 3.2.6,Hadoop 2.3.0 jdk1.8.0_161
我的maperducec代码是用Java语言编写的,我可以得到答案,但是我的问题是当我想将python库(例如tensorflow或其他有用的机器学习库)与数据混合时。
安装hadoop 2.3.0:1. hadoop-env导出JAVA_HOME = C:\ Java \ jdk1.8.0_161 2.我在hadoop文件夹中创建了数据-> dfs
对于环境用户变量
Hadoop_Home = D:\ hadoop Java_Home = C:\ Java \ jdk1.8.0_161 M2_HOME = C:\ apache-maven-3.5.2 \ apache-maven-3.5.2-bin \ Maven-3.5.2平台= x64
系统变量:将路径编辑为:
D:\hadoop\bin
C:\java\jdk1.8.0_161\bin
C:\ProgramData\Anaconda3
Run Code Online (Sandbox Code Playgroud)
我的MapReduce Python代码:D:\ digit \ wordcount-mapper.py
#!/usr/bin/python3
import sys
for line in sys.stdin:
line = line.strip() # remove leading and trailing whitespace
words = line.split() # split the line into words
for word in words:
print( …Run Code Online (Sandbox Code Playgroud) 昨天我做了一个机器人,一切正常,今天当我尝试运行我的代码时,出现以下错误:
ClientConnectorCertificateError(aiohttp.client_exceptions.ClientConnectorCertificateError:无法连接到主机discordapp.com:443 ssl:True [SSLCertVerificationError:(1,'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:证书已过期(_ssl.c:1108)')]
我使用的是win10、python 3.8和pycharm。我在 StackOverflow 上看到了类似的问题,但解决方案对我不起作用。