sc.textFile(path)允许读取HDFS文件,但它不接受参数(比如跳过多行,has_headers,......).
在"学习星火"O'Reilly电子书中,建议使用以下函数读取CSV(例5-12.Python加载CSV示例)
import csv
import StringIO
def loadRecord(line):
"""Parse a CSV line"""
input = StringIO.StringIO(line)
reader = csv.DictReader(input, fieldnames=["name", "favouriteAnimal"])
return reader.next()
input = sc.textFile(inputFile).map(loadRecord)
Run Code Online (Sandbox Code Playgroud)
我的问题是如何选择"采取"行:
我在这里看到一些不错的解决方案:选择元素范围,但我想看看是否有更简单的东西.
谢谢!
我对这两个系列有点困惑.
我知道Scala的Array调用Java API.在这种情况下,Wrapped Array的作用是什么(及其性能特征)?
http://www.scala-lang.org/api/current/scala/collection/mutable/WrappedArray.html
谢谢!
我想加入2个数据帧,我正在使用Julia指南中的intructions:http://dataframesjl.readthedocs.org/en/latest/joins_and_indexing.html?highlight=join
join(a, b, on = :ID, kind = :inner)
Run Code Online (Sandbox Code Playgroud)
现在,我如何加入具有不同名称的列:
我试过以下但它不起作用"
join(a, b, on = [ :ID, :name_id ], kind = :inner)
Run Code Online (Sandbox Code Playgroud)
如果没有实现,这将是一个很好的功能
尝试在我的RDD中启动一个类时,我正在运行一些属性查找问题.
我的工作流程
1-从RDD开始
2-获取RDD的每个元素,为每个元素启动一个对象
3- Reduce(我将编写一个稍后将定义reduce操作的方法)
这是#2:
>class test(object):
def __init__(self, a,b):
self.total = a + b
>a = sc.parallelize([(True,False),(False,False)])
>a.map(lambda (x,y): test(x,y))
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
PicklingError:不能咸菜<类的主.测试'>:属性查找主.测试失败
我想知道它是否有任何解决方法.请回答一个工作示例来实现预期的结果(即创建类"测试"对象的RDD).
相关问题: