小编Com*_*low的帖子

Python MapReduce Hadoop Streaming Job需要多个输入文件?

我的群集中有两个文件,File AFile B带有以下数据 -

档案A.

#Format: 
#Food Item | Is_A_Fruit (BOOL)

Orange | Yes
Pineapple | Yes
Cucumber | No
Carrot | No
Mango | Yes
Run Code Online (Sandbox Code Playgroud)

档案B.

#Format:
#Food Item | Vendor Name

Orange | Vendor A
Pineapple | Vendor B
Cucumber | Vendor B
Carrot | Vendor B
Mango | Vendor A
Run Code Online (Sandbox Code Playgroud)

基本上我想知道 每个供应商销售多少水果?

预期产量:

Vendor A | 2
Vendor B | 1
Run Code Online (Sandbox Code Playgroud)

我需要使用hadoop流式传输python map reduce.

我已经阅读了如何做一个基本的单词计数,我读取sys.stdink,v为减速器发出对然后减少.

我该如何处理这个问题?

我主要关注的是如何读取多个文件,然后在Hadoop Streaming中进行比较.

我可以在普通的python中做到这一点(即没有MapReduce和Hadoop,它很简单.)但是对于我拥有的庞大数据大小它是不可行的.

python hadoop mapreduce hadoop-streaming

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

Pandas - Groupby并创建新的DataFrame?

这是我的情况 -

In[1]: data
Out[1]: 
     Item                    Type
0  Orange           Edible, Fruit
1  Banana           Edible, Fruit
2  Tomato       Edible, Vegetable
3  Laptop  Non Edible, Electronic

In[2]: type(data)
Out[2]: pandas.core.frame.DataFrame
Run Code Online (Sandbox Code Playgroud)

我想要做的只是创建一个数据框Fruits,所以我需要groupby这样的方式Fruit存在于Type.

我试过这样做:

grouped = data.groupby(lambda x: "Fruit" in x, axis=1)

我不知道这是不是这样做,我有点难以理解groupby.我如何才能获得新DataFrameFruits

python grouping data-analysis pandas

6
推荐指数
2
解决办法
2230
查看次数

dir并且不帮助在python中显示对象的所有属性?

到目前为止这是我的代码,

import win32com.client as winc

outlook = winc.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
message = messages.GetLast()
print message.body
Run Code Online (Sandbox Code Playgroud)

message.body从outlook打印我的最后一封电子邮件.

当我dir(message)help(message)属性body没来.为什么?

>>> dir(message)
['_ApplyTypes_', '_FlagAsMethod', '_LazyAddAttr_', '_NewEnum', '_Release_', '__AttrToID__', '__LazyMap__', '__call__', '__doc__', '__eq__', '__getattr__', '__getitem__', '__init__', '__int__', '__len__', '__module__', '__ne__', '__nonzero__', '__repr__', '__setattr__', '__setitem__', '__str__', '_builtMethods_', '_enum_', '_find_dispatch_type_', '_get_good_object_', '_get_good_single_object_', '_lazydata_', '_make_method_', '_mapCachedItems_', '_oleobj_', '_olerepr_', '_print_details_', '_proc_', '_unicode_to_string_', '_username_', '_wrap_dispatch_']
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

更新

无论如何,我可以毫无疑问地了解对象的所有属性吗?

python

5
推荐指数
1
解决办法
1475
查看次数

如何在 Python 中将 Excel 工作表另存为 HTML?

我正在使用这个库XlsxWriter

我打开了一本工作簿并在其中写了一些东西(考虑到官方示例)-

import xlsxwriter

# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()

# Some data we want to write to the worksheet.
expenses = (
    ['Rent', 1000],
    ['Gas',   100],
    ['Food',  300],
    ['Gym',    50],
)

# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0

# Iterate over the data and write it out row by row.
for item, cost in (expenses):
    worksheet.write(row, …
Run Code Online (Sandbox Code Playgroud)

html python excel vba

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

Git - 致命:无法获取当前的工作目录?

当我git clone从回购时,我得到了,

fatal: Could not get current working directory: No such file or directory

我该怎么办?我检查了服务器,发现该.git文件存在.服务器正在运行Gitlab实例.我已经ssh正确配置了密钥,我已经提交和克隆了一段时间而没有任何错误,这种情况突然发生.

FWIW,我正在git clone用bash脚本做.


更新

这是我的bash脚本,

for repo in $repos
do
   git clone $repo /tmp/tmpdir/
   # do stuff with /tmp/tmpdir/
   rm -rf /tmp/tmpdir/
done
Run Code Online (Sandbox Code Playgroud)

对于第一个repo它没关系,但当for进入第二个repo它失败并给出上述fatal错误.

unix linux git bash gitlab

5
推荐指数
1
解决办法
7129
查看次数

在python中调用函数链的更好方法是什么?

我有一系列操作需要一个接一个地发生,每个操作都依赖于前一个函数的输出.

像这样:

out1 = function1(initial_input)
out2 = function2(out1)
out3 = function3(out2)
out4 = function4(out3)
Run Code Online (Sandbox Code Playgroud)

等约10次.它在代码中看起来有点难看.

写它的最佳方法是什么?有没有办法使用一些函数编程魔术处理它?有没有更好的方法来调用和执行这个功能链?

python

4
推荐指数
2
解决办法
255
查看次数

根据列合并重复项?

这是我的情况 -

In[9]: df
Out[9]: 
    fruit  val1  val2
0  Orange     1     1
1  orANGE     2     2
2   apple     3     3
3   APPLE     4     4
4   mango     5     5
5   appLE     6     6

In[10]: type(df)
Out[10]: pandas.core.frame.DataFrame
Run Code Online (Sandbox Code Playgroud)

如何删除不区分大小写的重复,从而导致fruit将与所有低val1,因为每个的总和val1S和val2为每个总和val2s ^

预期结果:

  fruit    val1 val2
0 orange    3    3
1 apple     13   13
2 mango     5    5 
Run Code Online (Sandbox Code Playgroud)

python grouping pandas

4
推荐指数
1
解决办法
1182
查看次数

即使安装了MySQL-python,也没有名为MySQLdb的模块?

我有一个CentOS盒子.

(venv)[root@localhost]# yum install MySQL-python
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.maine.edu
 * epel: ftp.osuosl.org
 * extras: mirror.us.leaseweb.net
 * remi: rpms.famillecollet.com
 * updates: mirrors.centarra.com
Setting up Install Process
Package MySQL-python-1.2.3-0.3.c1.1.el6.x86_64 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud)

...

(venv)[root@localhost]# python
Python 2.7.6 (default, May 20 2014, 20:23:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

python mysql unix centos mysql-python

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

awk - 如何剪切一行,检查列是否匹配,打印另一列?

我有一个像这样的laaaaaarge文件:

VENDOR|QTY|ITEM|PRICE
2|3|Sugar|15
3|3|Coffee|35
4|244|Sugar2|55
33|2|Pizza|36
3|3|Pizza|55
5|5|Pizza2|33
6|6|Pizza3|44
Run Code Online (Sandbox Code Playgroud)

如何打印VENDORPRICE IFF ITEMPizza

我试过grep但它很慢.

我可以像这样写一个python代码,

for line in file:
    fields = line.split('|')
    if fields[2] == 'Pizza':
        print fields[0], fields[-1]
Run Code Online (Sandbox Code Playgroud)

但我想从shell本身在Awk中做到这一点.我该怎么做呢?

更新

我如何检查子串?

我想输出VENDOR,PRICE如果披萨发生ITEM

输出应该是:

33|36
3|55
5|33
6|44
Run Code Online (Sandbox Code Playgroud)

unix linux bash shell awk

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

正则表达式egrep发现.gz但不是.tar.gz

我需要找到目录中的所有.gz文件而不是 .tar.gz文件,然后发送所有.gz文件some_other_command进行处理.

我到目前为止:

find . -regextype egrep -regex '.*/*\.gz$|[NOT .tar.gz]' -exec some_other_command -- '{}' '+'

some_other_command只需要.gz文件而不 需要.tar.gz.我[NOT .tar.gz]的正则表达式应该是什么?

regex linux bash grep find

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