我正在改变一个hadoop地图 - 减少当前编译的工作并且在没有我的更改的情况下运行正常.
作为工作的一部分,我现在将连接到S3以提供文件.
我开发了一个(非常简单的)s3Connector类,在eclipse中测试并运行它,然后将它挂钩到我的reduce工作中.为了在hadoop中运行作业,我必须将项目导出为jar文件,然后从hadoop调用它.jar文件似乎在没有问题的情况下编译和导出eclipse,但是当我在hadoop中运行它时,我得到了一个java.lang.VerifyError异常.
java.lang.VerifyError: (class: com/extrabux/services/S3Connector, method:
connectToS3 signature: ()V) Incompatible argument to function
Run Code Online (Sandbox Code Playgroud)
其他一些帖子提到可能存在冲突的jar版本依赖项,但在我的eclipse构建路径中,我添加了指定库的所有最新jar文件,并将它们推送到构建路径顺序的顶部.
这很简单,我可以把它分离到:
import org.jets3t.service.impl.rest.httpclient.RestS3Service;
import org.jets3t.service.security.AWSCredentials;
public class S3Connector {
protected RestS3Service s3Service;
protected AWSCredentials awsCredentials;
public S3Connector()
{
this.awsCredentials= new AWSCredentials("my secret 1", "my secret 2");
}
public void connectToS3() throws Exception
{
this.s3Service = new RestS3Service(this.awsCredentials);
}
}
Run Code Online (Sandbox Code Playgroud)
即使是那个简单的类也会死...同样的消息.只要我在构造函数和RestS3Service中注释掉AWS凭据,问题就会消失.基本上,我认为这是eclipse中的某种库出口问题,但不确定如何找到它.
我已经看过很多SqlMethods.Like的例子并想尝试一下,但是我无法通过intellisense来识别它.我需要引用什么或者需要添加什么"usings"语句.
= MOD((B2 * (D1 - 1) ) + B3, B1)
Run Code Online (Sandbox Code Playgroud)
如果我将其复制到另一个单元格中,它会将所有单元格值增加1.如何保持所有值相同?或者能够复制并仅允许一个变量增加?
我试图通过ssh在php脚本中执行远程命令,我希望将命令(stdout和stderr)的输出流式传输到原始主机.
我知道在Perl和Ruby中这是可能的.我在php中找不到任何这样的例子.
码:
$ip = 'kssotest.yakabod.net';
$user = 'tester';
$pass = 'kmoon77';
$connection = ssh2_connect($ip);
ssh2_auth_password($connection,$user,$pass);
$shell = ssh2_shell($connection,"bash");
$cmd = "echo '[start]';your commands here;echo '[end]'";
$output = user_exec($shell,$cmd);
fclose($shell);
function user_exec($shell,$cmd) {
fwrite($shell,$cmd . "\n");
$output = "";
$start = false;
$start_time = time();
$max_time = 2; //time in seconds
while(((time()-$start_time) < $max_time)) {
$line = fgets($shell);
if(!strstr($line,$cmd)) {
if(preg_match('/\[start\]/',$line)) {
$start = true;
}elseif(preg_match('/\[end\]/',$line)) {
return $output;
}elseif($start){
$output[] = $line;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我像这样执行它时$php remote.php …
我在Ruby Koans的about_symbols.rb中引用了这个测试 https://github.com/edgecase/ruby_koans/blob/master/src/about_symbols.rb#L26
def test_method_names_become_symbols
symbols_as_strings = Symbol.all_symbols.map { |x| x.to_s }
assert_equal true, symbols_as_strings.include?("test_method_names_become_symbols")
end
# THINK ABOUT IT:
#
# Why do we convert the list of symbols to strings and then compare
# against the string value rather than against symbols?
Run Code Online (Sandbox Code Playgroud)
为什么我们必须先将该列表转换为字符串?
我有一个双重职责的索引方法,显示帖子列表和查询的帖子列表,也可以有页面,所以你得到像/News/Page/1或/News?query=test
当用户点击帖子时,News/Details/1他们会得到一个简单的ActionLink,将他们带回列表.但是我想要这个链接将它们带回到它们在分页或查询方面所处的实际页面.我怎么能这样做?我不想使用JavaScript历史记录方法.这是我当前的ActionLink:<%=Html.ActionLink("<< Back to News List", "Index")%>这是分页链接的一个例子:<%= Html.RouteLink("<< First Page", "NewsPaging", new { query = ViewData["query"], page = 0 })%>
谢谢
我正在尝试将D-Bus与我的boost::asio应用程序集成.
D-Bus有一个API,可以枚举一组要监视的Unix文件描述符(主要是套接字,但也可以是FIFO).当那些描述符有东西需要阅读时,我应该通知D-Bus API,这样它就可以读取它们并做到这一点.
目前我这样做:
using boost::asio::posix::stream_descriptor;
void read_handle(stream_descriptor* desc, const boost::system::error_code& ec,
std::size_t bytes_read)
{
if (!ec) {
stream_descriptor::bytes_readable command(true);
descriptor->io_control(command);
std::size_t bytes_readable = command.get();
std::cout << "It thinks I should read" << bytes_readable
<< " bytes" << std::endl;
} else {
std::cout << "There was an error" << std::endl;
}
}
void watch_descriptor(boost::asio::io_service& ios, int file_descriptor)
{
// Create the asio representation of the descriptor
stream_descriptor* desc = new stream_descriptor(ios);
desc->assign(file_descriptor);
// Try to read 0 bytes …Run Code Online (Sandbox Code Playgroud) 现在我看到一个句子是否包含一个特定的单词,通过将句子分成一个数组然后做一个包含来查看它是否包含单词.就像是:
"This is my awesome sentence.".split(" ").include?('awesome')
Run Code Online (Sandbox Code Playgroud)
但我想知道用短语做这个的最快方法是什么.就好像我想查看句子"这是我真棒的句子".包含短语"我很棒的句子".我正在抓句子并比较大量的短语,所以速度有点重要.
我想要组合两个阵列.我需要从第一个数组中获取值,使用这些值作为匹配来自第二个数组的键,并将它们组合成第三个数组(我将使用的那个).
换句话说,我有第一个数组:
Array
(
[24] => 5
[26] => 4
[27] => 2
)
Run Code Online (Sandbox Code Playgroud)
我有的第二个数组:
Array
(
[1] => McDonalds
[2] => Burger King
[3] => Wendys
[4] => Taco Bell
[5] => Hardees
)
Run Code Online (Sandbox Code Playgroud)
最后,这是我想要的数组:
Array
(
[5] => Hardees
[4] => Taco Bell
[2] => Burger King
)
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但我似乎无法弄明白.我已经尝试了各种数组函数,例如array_intersect_key,没有运气.
我正在使用CKEditor(目前正在使用版本3.4.1 - 如果有必要我可以升级)并且我错过了使用<code>标签的可能性,无论是从格式下拉列表还是通过工具栏上的按钮.
我找不到一个能让这成为可能的插件.我也没有经验或知道如何为此编写自己的插件.
你知道一个插件可以帮助我启用"代码"按钮/格式(将选定的文本包装成<code>标签)吗?如果没有,如果您指导我关于CKEditor插件开发的在线资源(某种教程解释基本的基础知识),我将不胜感激.
如果它有用,我的网站使用Drupal 6.19,CKEditor模块,CKEditor 3.4.1.至于插件开发教程,我已经发现了这个,但大部分都似乎超出了我的掌握.