分享

spark DataFrame遇到的问题,求大神解答

duliming 发表于 2016-1-15 14:50:48 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 12873
我的需求是:
取出DataFrame中的某行某列的位置上的数据。
[mw_shl_code=java,true]JavaSparkContext sc = new JavaSparkContext("local", "dataAnalysis");
SQLContext sqlContext = new SQLContext(sc);
HashMap<String, String> options = new HashMap<String, String>();
options.put("header", "true");
options.put("delimiter", ",");
options.put("path", "/dataAnalysis/inputData/67.csv");
DataFrame initialData = sqlContext.load("com.databricks.spark.csv",options);
Double value = initialData.filter("NO==行号").select("列名").head().getDouble(0);
[/mw_shl_code]

通过以上的方法是可以获取到某行某列位置上的数据。但是如果我的DataFrame对象做了过滤操作,或者重新排序操作以后。生成的新的DataFrame中NO字段的值会不连续。
我想请问大神们我该如何在在DataFrame被过滤或者重拍后生成的新DataFrame中获取某行某列的数据值。


已有(4)人评论

跳转到指定楼层
regan 发表于 2016-1-15 16:56:00
本帖最后由 regan 于 2016-1-15 17:22 编辑

      楼主你好,你要确定某行某列的某个值,首先你要知道是第几行,第几列。但是你现在情况是:你知道列,但是行号却是变化的,如何确定一个值所在的位置呢?变化点是行号,那要确定一个值的具体位置,能不能不用行号呢?你可以像一个办法,来实现,比如你在处理数据的时候,给每一行数据增加一个字段,这个字段值唯一,如取UUID,这不就行了吗?UUID唯一,列你也知道,不就能唯一确定一个值了吗?不管你是过滤还是排序,这跟行号没关系罗。
     哥哥是这样想的,想想应该能够实现。


回复

使用道具 举报

duliming 发表于 2016-1-15 18:29:14
regan 发表于 2016-1-15 16:56
楼主你好,你要确定某行某列的某个值,首先你要知道是第几行,第几列。但是你现在情况是:你知道列, ...

感谢斑竹大哥的回复。这个方法还是不能解决我的问题。有UUID这个值,我怎么能知道这个值就是第几行的UUID呢?所以我在想,能不能把NO这一行修改一下重新排序呢?
回复

使用道具 举报

bob007 发表于 2016-1-15 19:37:08
duliming 发表于 2016-1-15 18:29
感谢斑竹大哥的回复。这个方法还是不能解决我的问题。有UUID这个值,我怎么能知道这个值就是第几行的UUID ...

楼主需要改变下思路,在一开始就是个错误,后面所有的都错了。首先我们需要明白查询的意义。查询是根据我们的现实需要,得到我们想要的结果。
那么楼主想定位一行,是根据什么需要那?
显然不是根据现实需要,也就是,不是根据自己的实际需求,去得到一个自己想要的结果。
楼主需要的结果是自己虚拟出来的,或则是说楼主拍脑袋想出来的。
我们定位一个数据,比如下面数据
序号  姓名      年龄  班级
1        张三       15    1
2        李四       16    1
3        张三       17    2
。。。。。。。。。。。

依次往下。

楼主是想通过变动的序号是定位一个人显然是没有任何意义的。
因为这个序号是变动的。那么我们该如何去查找我们需要的结果。
比如张三,里面张三有两个,不是我们需要的结果,ok,在加条件,一年级。这时候就找到了我们所找的张三。
楼主你想定位一条数据,不能根据序号,根据序号,开始就是错误的。所以如果你想定位一个数据,如果一条不够,就在加条件





回复

使用道具 举报

duliming 发表于 2016-1-18 10:53:30
bob007 发表于 2016-1-15 19:37
楼主需要改变下思路,在一开始就是个错误,后面所有的都错了。首先我们需要明白查询的意义。查询是根据我 ...

非常感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条