小编Nei*_*eil的帖子

键入map中的键不匹配:期望org.apache.hadoop.io.Text,收到org.apache.hadoop.io.LongWritable

我试图在java中运行map/reducer.以下是我的文件

WordCount.java

package counter;


public class WordCount extends Configured implements Tool {

public int run(String[] arg0) throws Exception {
    Configuration conf = new Configuration();

    Job job = new Job(conf, "wordcount");

    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(IntWritable.class);

    job.setMapperClass(WordCountMapper.class);
    job.setReducerClass(WordCountReducer.class);

    job.setInputFormatClass(TextInputFormat.class);
    job.setOutputFormatClass(TextOutputFormat.class);

    FileInputFormat.addInputPath(job, new Path("counterinput"));
    // Erase previous run output (if any)
    FileSystem.get(conf).delete(new Path("counteroutput"), true);
    FileOutputFormat.setOutputPath(job, new Path("counteroutput"));

    job.waitForCompletion(true);
    return 0;
}   

public static void main(String[] args) throws Exception {
    int res = ToolRunner.run(new Configuration(), new WordCount(), args);
    System.exit(res);

    }
}
Run Code Online (Sandbox Code Playgroud)

WordCountMapper.java

public class WordCountMapper extends …
Run Code Online (Sandbox Code Playgroud)

java hadoop mapreduce

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

从redshift中删除重复行

我试图删除我的redshift表中的一些重复数据.

以下是我的查询: -

With duplicates
As
(Select *, ROW_NUMBER() Over (PARTITION by record_indicator Order by record_indicator) as Duplicate From table_name)
delete from duplicates
Where Duplicate > 1 ;
Run Code Online (Sandbox Code Playgroud)

这个查询给了我一个错误.

Amazon无效操作:语法错误在"删除"或附近;

不确定问题是什么,因为with子句的语法似乎是正确的.以前有人遇到过这种情况吗?

sql sql-delete amazon-redshift

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

增加sqlworkbench/J的堆大小

我们如何增加SqlWorkbench/J的堆大小?

我尝试了不同的选项,但大多数都说要执行以下命令: -

java -Xmx4g -jar sqlworkbench.jar
Run Code Online (Sandbox Code Playgroud)

即使在http://www.sql-workbench.net/manual/install.html#install-increase-memory上,它也为我提供了这个解决方案.

现在,我正在使用macbook.所以我只有sqlworkbench.app文件.我没有sqlworkbench的任何.ini文件或.jar文件.

那么,如何增加内存大小?

java macos heap-memory sql-workbench-j

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

使用Curl/Wget自动从sharepoint下载文件/文件夹

我一直在尝试使用Curl和wget从Sharepoint下载文件.我打算将它作为脚本,每天自动运行并从URL下载文件.

我尝试使用CURL和以下命令

curl -O --user Myusername:Mypassword https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
Run Code Online (Sandbox Code Playgroud)

但它给了我关于SSL连接的错误.我知道CURL 7.35中存在一些现有的错误所以我把它降级到了7.22.但仍然给我同样的错误.

我也尝试过使用Wget

wget --user=Myusername --password=MyPassword --no-check-certificate https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
Run Code Online (Sandbox Code Playgroud)

但它仍然给我错误 - 无法建立SSL连接

有人可以让我知道我如何完成我的任务

UPDATE

我能够解决CURL中的错误.以下是我给出的命令

curl -O -L --sslv3 -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13" --user Myusername:Mypassword 'https://OurDomain.sharepoint.com/_%7BB21r-9CA2-345DEF%7D&file=IPS_cleaned.xlsx&action=default'
Run Code Online (Sandbox Code Playgroud)

现在它下载的是一个文件,当我打开它时,它显示了Sharepoint的登录页面.它不下载实际的excel文件.

任何原因?

ssl sharepoint curl wget download

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

使用 pandas 数据帧读取时避免自动将数据转换为 int

我有一个没有标题的 csv 文件。它有大约 35 根柱子。

我正在使用 pandas 读取此文件。目前的问题是,当它读取文件时,它会自动为每一列分配数据类型。

如何避免分配自动数据类型?

我有一个列 C,我想将其存储为字符串而不是整数。但pandas自动将其分配给int

我尝试了两件事。

1)

my_df = pd.DataFrame()
my_df = pd.read_csv('my_csv_file.csv',names=['A','B','C'...'Z'],converters={'C':str},engine = 'python')
Run Code Online (Sandbox Code Playgroud)

上面的代码给我错误

ValueError: Expected 37 fields in line 1, saw 35
Run Code Online (Sandbox Code Playgroud)

如果我删除的话converters={'C':str},engine = 'python'就没有错误

2)

old_df['C'] = old_df['C'].astype(int)
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是,如果列中的值为“00123”,则它已经转换为 123,然后将其转换为“123”。它会丢失初始 Zeroes ,因为它认为它是整数。

python csv pandas

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

matplotlib 在散点图中不显示图例

我正在尝试解决一个聚类问题,我需要为我的聚类绘制散点图。

%matplotlib inline
import matplotlib.pyplot as plt
df = pd.merge(dataframe,actual_cluster)
plt.scatter(df['x'], df['y'], c=df['cluster'])
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)

df['cluster'] 是实际的簇号。所以我希望这是我的颜色代码。

在此处输入图片说明

它向我展示了一个情节,但没有向我展示图例。它也不会给我错误。

难道我做错了什么?

python plot cluster-analysis matplotlib

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

在mongodb中查找特定日期的数据

我想从MongoDB集合中找到2014-08-01的数据.MongoDB中的日期是ISO格式.我写下面的查询,但它给了我非常大的数字,我怀疑它不是1天的数据.有人可以让我知道查询有什么问题.sd是关键

db.history.count({sd:{$gte: new Date("2014-08-01")},sd:{$lt:new Date("2014-08-01")}})
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query

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

在java中检索hashmap值

我写下面的代码来检索hashmap中的值.但它没有用.

HashMap<String, String> facilities = new HashMap<String, String>();

Iterator i = facilities.entrySet().iterator();

while(i.hasNext())
{
    String key = i.next().toString();  
    String value = i.next().toString();
    System.out.println(key + " " + value);
}
Run Code Online (Sandbox Code Playgroud)

我修改了代码以包含SET类,它工作正常.

Set s= facilities.entrySet();
Iterator it = facilities.entrySet().iterator();
while(it.hasNext())
{
    System.out.println(it.next());
}
Run Code Online (Sandbox Code Playgroud)

没有SET类,任何人都可以指导我上面的代码出了什么问题?

PS - 我没有太多编程exp并且最近开始使用java

java hashmap

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

在Weka中做PCA

我正在尝试在WEKA(分类问题)中进行PCA降维.

我的数据中有200个属性,接近2100行.

以下是我遵循的步骤

  • 在WEKA资源管理器中导入csv文件

  • 在预处理选项卡中,应用,规范化数据(使整个数据的范围为[0,1]

  • 然后实施PCA.

    • 在PCA的选项中,有一个centerData选项,如果设置为False,将在标准化数据后使用相关矩阵计算(如果我错了则纠正我),如果设置为true则使用协方差矩阵.

我怀疑是

  1. 我应该在实施PCA之前对数据进行规范化吗?我尝试在正常化之前和之后做这件事我得到了不同的结果.所以我很困惑.
  2. 我应该标准化数据(将平均值设为0)然后应用PCA.

在任何一种情况下,我应该在PCA WEKA中为centerData选项选择什么选项?

covariance weka correlation pca

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

astype 不适用于 Pandas 数据框

我有一个名为消息的数据框,其中数据看起来像

message             length  class
hello, Come here      16     A
hi, how are you       15     A 
what is it            10     B
maybe tomorrow        14     A
Run Code Online (Sandbox Code Playgroud)

当我做

messages.dtypes
Run Code Online (Sandbox Code Playgroud)

它向我展示了

class      object
message    object
Length      int64
dtype: object
Run Code Online (Sandbox Code Playgroud)

然后我尝试将消息列转换为字符串类型

messages['message'] = messages['message'].astype(str)
print messages.dtypes
Run Code Online (Sandbox Code Playgroud)

它仍然向我展示

class      object
message    object
Length      int64
dtype: object
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么。为什么不转换为字符串?

Python 版本 2.7.9 在 Windows 10 上
Pandas 版本 0.15.2

python dataframe pandas

-1
推荐指数
1
解决办法
7188
查看次数