标签: hdfs

从pandas.HDFStore表中选择列

如何从pandas HDFStore中检索特定列?我经常处理非常大的数据集,这些数据集太大而无法在内存中操作.我想迭代地读取一个csv文件,将每个块附加到HDFStore对象中,然后处理数据的子集.我已经阅读了一个简单的csv文件,并使用以下代码将其加载到HDFStore中:

tmp = pd.HDFStore('test.h5')
chunker = pd.read_csv('cars.csv', iterator=True, chunksize=10, names=['make','model','drop'])
tmp.append('df', pd.concat([chunk for chunk in chunker], ignore_index=True))
Run Code Online (Sandbox Code Playgroud)

并输出:

In [97]: tmp
Out[97]:
<class 'pandas.io.pytables.HDFStore'>
File path: test.h5
/df     frame_table (typ->appendable,nrows->1930,indexers->[index])
Run Code Online (Sandbox Code Playgroud)

我的问题是如何从中访问特定列tmp['df']?该文档提到了一种select()方法和一些Term对象.提供的示例适用于小组数据; 然而,我太过新手,无法将其扩展到更简单的数据框案例.我的猜测是我必须以某种方式创建列的索引.谢谢!

python hdfs pandas

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

使用Java API在Hadoop中移动文件?

我想使用Java API在HDFS中移动文件.我无法想办法做到这一点.FileSystem类似乎只允许允许移入和移出本地文件系统..但我想将它们保存在HDFS中并将它们移动到那里.

我错过了什么基本的东西?我可以想象的唯一方法是从输入流中读取它并将其写回...然后删除旧副本(yuck).

谢谢

java hadoop hdfs

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

如何在Pig中强制STORE(覆盖)到HDFS?

在开发使用STORE命令的Pig脚本时,我必须删除每次运行的输出目录,否则脚本会停止并提供:

2012-06-19 19:22:49,680 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 6000: Output Location Validation Failed for: 'hdfs://[server]/user/[user]/foo/bar More info to follow:
Output directory hdfs://[server]/user/[user]/foo/bar already exists
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找一个in-Pig解决方案来自动删除目录,如果目录在呼叫时不存在,那么该目录也不会阻塞.

在Pig Latin Reference中我找到了shell命令调用者fs.不幸的是,只要出现任何错误,Pig脚本就会中断.所以我不能用

fs -rmr foo/bar
Run Code Online (Sandbox Code Playgroud)

(即递归删除)因为如果目录不存在它会中断.我想我可以用一会儿

fs -test -e foo/bar
Run Code Online (Sandbox Code Playgroud)

这是一个测试,不应该打破或所以我想.但是,Pig再次将test不存在的目录上的返回代码解释为失败代码并中断.

Pig项目有一个JIRA票据解决了我的问题,并为STORE命令建议了一个可选参数OVERWRITEFORCE_WRITE.无论如何,我正在使用Pig 0.8.1,并且没有这样的参数.

apache-pig hdfs

17
推荐指数
1
解决办法
3万
查看次数

在hadoop中查看文件的块数

在Hadoop文件系统中,如何查看文件被破坏的块数?

hadoop hdfs

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

猪:每组获得前n个值

我有已经分组和聚合的数据,它看起来像这样:

user    value      count
----    --------  ------
Alice   third      5
Alice   first      11
Alice   second     10
Alice   fourth     2
...
Bob     second     20
Bob     third      18
Bob     first      21
Bob     fourth     8
...
Run Code Online (Sandbox Code Playgroud)

对于每个用户(Alice和Bob),我想要检索他们的前n个值(比方说2),排序的'count'项.所以我想要的输出是这样的:

Alice first 11
Alice second 10
Bob first 21
Bob second 20
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

hadoop apache-pig hdfs

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

Apache Spark如何了解HDFS数据节点?

想象一下,我在HDFS托管的文件上做了一些Spark操作.像这样的东西:

var file = sc.textFile("hdfs://...")
val items = file.map(_.split('\t'))
...
Run Code Online (Sandbox Code Playgroud)

因为在Hadoop世界中,代码应该放在数据所在的位置,对吧?

所以我的问题是:Spark工作人员如何知道HDFS数据节点?Spark如何知道执行代码的数据节点?

hadoop hdfs apache-spark

17
推荐指数
1
解决办法
4854
查看次数

没有Hadoop的实木复合地板?

我想在我的一个项目中使用镶木地板作为柱状存储.但我不想依赖于hadoop/hdfs库.是否可以在hdfs外使用镶木地板?或者什么是最小依赖?

hadoop hdfs parquet

17
推荐指数
2
解决办法
4411
查看次数

hdfs dfs -mkdir,没有这样的文件或目录

嗨,我是hadoop的新手,并尝试在hdfs中创建名为twitter_data的目录.我在softlayer上设置了我的vm,成功安装并启动了hadoop.

这是我想要运行的表扬:

hdfs dfs -mkdir hdfs:// localhost:9000/user/Hadoop/twitter_data

并且它一直返回此错误消息:

 /usr/local/hadoop/etc/hadoop/hadoop-env.sh: line 2: ./hadoop-env.sh: Permission denied
16/10/19 19:07:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: `hdfs://localhost:9000/user/Hadoop/twitter_data': No such file or directory
Run Code Online (Sandbox Code Playgroud)

为什么说没有这样的文件和目录?我订购它制作目录,不应该只创建一个?我猜它一定是权限问题,但我无法解决它.请帮我hdfs专家.我花了太多时间在一件简单的事情上.

提前致谢.

hadoop hdfs

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

Hadoop:如何将reducer输出合并到一个文件?

我知道shell中的"getmerge"命令可以完成这项工作.

但是,如果我想在作业之后通过HDFS API for java合并这些输出,我该怎么办?

我真正想要的是HDFS上的单个合并文件.

我唯一能想到的就是在那之后再开始一份工作.

谢谢!

java merge hadoop mapreduce hdfs

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

Hadoop Namenode故障转移过程如何工作?

Hadoop权威指南说 -

每个Namenode都运行一个轻量级故障转移控制器进程,其工作是监视其Namenode的故障(使用简单的心跳机制),并在namenode失败时触发故障转移.

为什么namenode可以运行某些东西来检测自己的失败?

谁向谁发送心跳?

这个过程在哪里运行?

它如何检测namenode失败?

它向谁通知过渡?

failover hadoop hdfs hadoop2 namenode

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