我正在尝试运行此代码,但收到此错误:
管理规则禁止请求,请确保您的请求具有User-Agent标头
var https = require("https");
var username = 'jquery';
var options = {
host: 'api.github.com',
path: '/users/' + username + '/repos',
method: 'GET'
};
var request = https.request(options, function(response){
var body = '';
response.on("data", function(chunk){
body += chunk.toString('utf8');
});
response.on("end", function(){
console.log("Body: ", body);
});
});
request.end();
Run Code Online (Sandbox Code Playgroud) 我的第一个RDD中的数据就像
1253
545553
12344896
1 2 1
1 43 2
1 46 1
1 53 2
Run Code Online (Sandbox Code Playgroud)
现在前三个整数是我需要广播的一些计数器.之后,所有行都具有相同的格式
1 2 1
1 43 2
Run Code Online (Sandbox Code Playgroud)
我将在3个计数器之后将所有这些值映射到新的RDD,然后在函数中对它们进行一些计算.但我无法理解如何分离前3个值并正常映射其余值.
我的Python代码是这样的
documents = sc.textFile("file.txt").map(lambda line: line.split(" "))
final_doc = documents.map(lambda x: (int(x[0]), function1(int(x[1]), int(x[2])))).reduceByKey(lambda x, y: x + " " + y)
Run Code Online (Sandbox Code Playgroud)
它仅在前三个值不在文本文件中时起作用,但是使用它们会产生错误.
我不想跳过前3个值,而是将它们存储在3个广播变量中,然后在map函数中传递剩余的数据集.
是的,文本文件只能是那种格式.我无法删除这3个值/计数器
Function1正在进行一些计算并返回值.