小编Ahm*_*dov的帖子

在Hadoop中更改文件分割大小

我在HDFS目录中有一堆小文件.虽然文件的体积相对较小,但每个文件的处理时间量很大.也就是说,一个64mb文件,它是默认的分割大小TextInputFormat,甚至需要花费几个小时来处理.

我需要做的是减少分割大小,这样我就可以利用更多的节点来完成工作.

所以问题是,怎么可能通过让我们说分割文件10kb?我需要实现我自己InputFormatRecordReader这一点,或有任何参数设置?谢谢.

java hadoop mapreduce distributed-computing

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

如何用相邻值替换数据帧中的NA(缺失值)

862 2006-05-19 6.241603 5.774208     
863 2006-05-20 NA       NA      
864 2006-05-21 NA       NA      
865 2006-05-22 6.383929 5.906426      
866 2006-05-23 6.782068 6.268758      
867 2006-05-24 6.534616 6.013767      
868 2006-05-25 6.370312 5.856366      
869 2006-05-26 6.225175 5.781617      
870 2006-05-27 NA       NA     
Run Code Online (Sandbox Code Playgroud)

我有一个数据框x像上面的一些NA,我想用相邻的非NA值填充,如2006-05-20它将是平均19和22

问题是怎么回事?

r missing-data locf imputation

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

在Windows上通过.condarc文件设置Python Anaconda代理

我无法在Windows 7计算机上通过Anaconda安装conda的代理.我如何使用代理?

http://conda.pydata.org/docs/config.html

python proxy anaconda conda

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

Scala除以零会产生不同的结果

我对Scala处理除零的方式感到困惑.这是一个REPL代码片段.

scala> 1/0
java.lang.ArithmeticException: / by zero
  ... 33 elided

scala> 1.toDouble/0.toDouble
res1: Double = Infinity

scala> 0.0/0.0
res2: Double = NaN

scala> 0/0
java.lang.ArithmeticException: / by zero
  ... 33 elided

scala> 1.toInt/0.toInt
java.lang.ArithmeticException: / by zero
  ... 33 elided
Run Code Online (Sandbox Code Playgroud)

正如您在上面的示例中所看到的,取决于您如何除以零,您将获得以下之一:

  • "java.lang.ArithmeticException:/ by zero"
  • "双= NaN"
  • "Double = Infinity"

这使得调试非常具有挑战性,尤其是在处理未知特征的数据时.这种方法背后的原因是什么,甚至更好的问题,如何在Scala中以统一的方式处理除零?

java scala arithmetic-expressions divide-by-zero

10
推荐指数
2
解决办法
1235
查看次数

按Excel分组

我们假设我在Excel中有下表

A     B
Item  quantity_sold
A     3
A     4
A     1
B     5
B     2
D     12
C     3
C     7
C     8
Run Code Online (Sandbox Code Playgroud)

我需要总结按项目分组的quantity_sold,并在每个组中仅在相邻列上打印一次结果,类似于以下内容

A     B                 C   
Item  quantity_sold    SUM_by_item_type
A     3                 8
A     4
A     1
B     5                 7
B     2
D     12                12
C     3                 18
C     7
C     8
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用数据透视表的情况下实现这一目标?

在此输入图像描述

excel grouping sum

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

在python中有效地流式传输tar.gz文件

我有一个非常大的.tar.gz文件列表(每个> 2GB)我想用python(Mannheim Webtables Corpus)处理.每个存档文件包含数百万个.json仅包含单个json对象的文件.我需要做的是逐个遍历所有文件,json使用文件内容创建一个对象并随后处理它.

当我尝试使用tarfile.open它时会非常缓慢,因为它试图将整个文件提取并加载到内存中.

这是我做的第一次尝试:

import os
import tarfile
input_files = os.listdir('CORPUS_MANNHEIM')
for file in input_files:
    with tarfile.open('CORPUS_MANNHEIM'+'/'+file) as tfile:
        for jsonfile in tfile.getmembers():
            f=tfile.extractfile(jsonfile)
            content=f.read()
            print(content)
Run Code Online (Sandbox Code Playgroud)

上面的代码非常慢,并且崩溃了Jupyter笔记本.我有另一个语料库,.gz其中包含我可以轻松迭代的文件列表.但是,对于.tar.gz文件,似乎没有办法.

我已经尝试了一些其他选择,如第一次提取.tar的文件.tar.gz使用的文件gunziptar -xvf再没有运气处理.

如果您需要任何进一步的细节,请告诉我.我试图让问题尽可能短.

编辑:当我尝试使用读取.tar文件时head,它似乎可以非常快速地流式传输.输出有点奇怪.它首先输出文件名继续文件的内容,这有点不方便.你可以试试head --bytes 1000 03.tar.

编辑:我的问题与其他类似性质的问题不同,即使我尝试流式传输,tarfile似乎根本不起作用.因此,我需要一种更有效的方法 - 类似于headless在Linux中的东西,可以立即获得流而无需提取哪个tarfile.

python gzip file tar python-3.x

5
推荐指数
0
解决办法
894
查看次数

将行转置为Oracle 10g中的列

我有一张表如下所示

po_num   | terms type  | terms description
-------------------------------------------
10       | 1           | Desc-10-1
10       | 2           | Desc-10-2
10       | 3           | Desc-10-3
20       | 1           | Desc-20-1
20       | 3           | Desc-20-3
30       |             | 
Run Code Online (Sandbox Code Playgroud)

因此,对于每个采购订单(PO_NUM),可能存在多个协议条款(最多三个 - 1,2,3)或根本没有协议条款.现在,我需要的是将行转换为列 - 也就是说,对于每个po_num,我希望有类似的输出,如下所示.

po_num  | terms1      | termsDesc2  | terms2     | termsDesc2  | terms3    |termsDesc3
---------------------------------------------------------------------------------------
10       | 1           | Desc-10-1  | 2          | Desc-10-2   | 3         |Desc10-3
20       | 1           | Desc-20-1  |            |             | 3         |Desc20-3
30       |             | …
Run Code Online (Sandbox Code Playgroud)

sql oracle transpose oracle10g

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

使用 py2neo 将 JSON 导入 NEO4J

我正在尝试将通过 API 请求获得的 JSON 文件导入到 StackOverflow 到 NEO4J。我一直在关注本教程。但是,在尝试执行查询时出现如下错误:

  File "/Users/ahmedov/anaconda/lib/python2.7/site-packages/py2neo/cypher/core.py", line 306, in commit
    return self.post(self.__commit or self.__begin_commit)

  File "/Users/ahmedov/anaconda/lib/python2.7/site-packages/py2neo/cypher/core.py", line 261, in post
    raise self.error_class.hydrate(error)

  File "/Users/ahmedov/anaconda/lib/python2.7/site-packages/py2neo/cypher/error/core.py", line 54, in hydrate
    error_cls = getattr(error_module, title)

AttributeError: 'module' object has no attribute 'SyntaxError'
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码:

import os
import requests
from py2neo import neo4j
from py2neo import Graph

from py2neo import Path, authenticate
# set up authentication parameters
authenticate("localhost:7474", "neo4j", "neo4j")

# connect to authenticated graph database
#graph = Graph("http://localhost:7474/db/data/") …
Run Code Online (Sandbox Code Playgroud)

python neo4j cypher py2neo

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