我试图在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) 我试图删除我的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子句的语法似乎是正确的.以前有人遇到过这种情况吗?
我们如何增加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文件.
那么,如何增加内存大小?
我一直在尝试使用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文件.
任何原因?
我有一个没有标题的 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 ,因为它认为它是整数。
我正在尝试解决一个聚类问题,我需要为我的聚类绘制散点图。
%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'] 是实际的簇号。所以我希望这是我的颜色代码。
它向我展示了一个情节,但没有向我展示图例。它也不会给我错误。
难道我做错了什么?
我想从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) 我写下面的代码来检索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
我正在尝试在WEKA(分类问题)中进行PCA降维.
我的数据中有200个属性,接近2100行.
以下是我遵循的步骤
在WEKA资源管理器中导入csv文件
在预处理选项卡中,应用,规范化数据(使整个数据的范围为[0,1]
然后实施PCA.
我怀疑是
在任何一种情况下,我应该在PCA WEKA中为centerData选项选择什么选项?
我有一个名为消息的数据框,其中数据看起来像
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
java ×3
python ×3
pandas ×2
correlation ×1
covariance ×1
csv ×1
curl ×1
dataframe ×1
download ×1
hadoop ×1
hashmap ×1
heap-memory ×1
macos ×1
mapreduce ×1
matplotlib ×1
mongodb ×1
pca ×1
plot ×1
sharepoint ×1
sql ×1
sql-delete ×1
ssl ×1
weka ×1
wget ×1