小编Man*_*lur的帖子

私有成员:静态const与仅const

我正在尝试确定当一个对象有一些不会改变的特征时,最好的选择是什么,并且在整个函数中都需要它.

  1. 静态const成员
  2. Const成员

在我看来,静态成员的真正原因是拥有一个可以更改的变量,从而影响同一个类的所有其他对象.但是,我有人建议将类"不变量"作为静态const成员.我正在寻找有关建立类常量的推荐方法的一些见解,以及原因.

c++

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

嵌套Lambda函数 - 性能影响

我有一个顶级lambda函数,然后在这个lambda中有几个嵌套的lambda函数.

将lambda嵌入其他lambda中是个好主意吗?是否有任何性能影响?

例如

auto Multiplier1 = []() -> int
{
    auto Multiplier2 = [](int i) -> int
    {
        auto Multiplier3 = [](int i) -> int
        {
            return i * 2;
        };
        std::cout << "Calling another lambda 2\n";
        return Multiplier3(i * 100);
    };

    int i = 10;
    std::cout << "Calling another lambda 1\n";
    int ret = Multiplier2(i);
    return ret;
};

int ret = Multiplier1();
std::cout << ret << "\n";
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我可以将Multiplier2和Multiplier3重新分解为单独的函数.与此相比,这是一种更好的方法吗?

我正在修改已经在生产中的代码,因此,无论是将其重新分解为单独的函数还是使用lambda函数进行管理,我都处于两难境地.

c++ lambda asynchronous c++11 c++14

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

MRunit:如何测试自定义排序比较器?

我正在尝试使用MRunit来测试我的sortComparatorClass.似乎MRunit应该能够使用该setKeyOrderComparator方法执行此操作,但是当我运行mapReduceDriver它时,它不会调用类的compare()方法SortComparator.
很确定我在使用MRunit API做错了.

这是我的单元测试代码:

public class UnitTests {

private static transient Log log = LogFactory.getLog(UnitTests.class);

MapReduceDriver<Text, Text, Text, Text, Text, Text> mapReduceDriver;
MapDriver<Text, Text, Text, Text> mapDriver;
ReduceDriver<Text, Text, Text, Text> reduceDriver;

@Before
public void setUp() throws InterruptedException, IOException {
    mapDriver = new MapDriver<Text, Text, Text, Text>();
    mapDriver.setMapper(new TestMapper());
    reduceDriver = new ReduceDriver<Text, Text, Text, Text>();
    reduceDriver.setReducer(new TestReducer());
    mapReduceDriver = new MapReduceDriver(new TestMapper(), new TestReducer());
    mapReduceDriver.setKeyOrderComparator(new TestSortCompartor());
}

@Test
public …
Run Code Online (Sandbox Code Playgroud)

hadoop mrunit

8
推荐指数
0
解决办法
438
查看次数

如何在HIVE中运行查询时更改Tez作业名称

当我使用Tez提交Hive SQL时,如下所示:

hive (default)> select count(*) from simple_data;
Run Code Online (Sandbox Code Playgroud)

在资源管理器UI中,作业名称显示类似于HIVE-9d1906a2-25dd-4a7c-9ea3-bf651036c7eb是否有办法将作业名称更改为my_job_nam

如果我没有使用Tez并在MR中运行作业,我可以使用设置作业名称set mapred.job.name.

我需要设置任何Tez参数来更改作业名称吗?

任何输入都表示赞赏.

hadoop hive apache-pig

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

包org.apache.hadoop.conf不存在

我是新手编译Hadoop代码并且知道这个问题已被多次回答.但是,我仍然发现很难找出正确的类路径来使WordCount.java代码进行编译.我正在运行CentOS版本7.

我的Hadoop版本是:

Hadoop 2.7.1 Subversion   
https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a   
Compiled by jenkins on 2015-06-29T06:04Z  
Compiled with protoc 2.5.0  
From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a  
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.1.jar
Run Code Online (Sandbox Code Playgroud)

当我回复$ PATH时,我得到以下内容:

/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/lib/jvm/jre-1.7.0-openjdk/:/usr/local /hadoop/bin:/usr/local/hadoop/sbin:/home/hduser/.local/bin:/home/hduser/bin:/usr/lib/jvm/jre-1.7.0-openjdk/:/usr/本地/ Hadoop的/ bin中:在/ usr /本地/ Hadoop的/ sbin目录

我正在运行的Java版本是:

java version "1.7.0_91"
OpenJDK Runtime Environment (rhel-2.6.2.1.el7_1-x86_64 u91-b00)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我确实在vi .bashrc中为Java和Hadoop设置了所有环境变量,如下所示,并且jps通过.Java也可以编译其他代码,但我认为我得到了Hadoop的类路径错误.

Java变量

export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk/
export PATH=$PATH:$JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

Hadoop变量

export HADOOP_INSTALL=/usr/local/hadoop 
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
Run Code Online (Sandbox Code Playgroud)

当我尝试在工作目录中编译WordCount.java时,我收到这些错误: …

java linux git hadoop jenkins

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

Apache Spark本机库

我最近能够构建具有本机64位支持的Apache Hadoop 2.5.1。因此,我摆脱了恼人的“本地库警告”。

我正在尝试配置Apache Spark。当我启动spark-shell时,会出现相同的警告:

14/09/14 18:48:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Run Code Online (Sandbox Code Playgroud)

一些技巧:

我必须下载一个预先构建的2.4版本的Spark,因为仍然没有Maven的Hadoop 2.5的配置文件。

以下导出已添加到spark-env.sh:

export HADOOP_CONF_DIR=/opt/hadoop-2.5.1/etc/hadoop

export SPARK_LIBRARY_PATH=/opt/hadoop-2.5.1/lib/native
Run Code Online (Sandbox Code Playgroud)

不适用于spark-shell和spark-submit。我的Hadoop本地安装配置为伪分布式(ResourceManager + YARN支持)。

64-bit hadoop hadoop-yarn apache-spark

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

C++错误:转换为执行字符集

问题是我试图在ASCII之外打印一些字符,如德语变音字符,'ß'等.这些字符不适合普通的char变量,所以显然我试图将它们放在wchar_t中并用L"....."初始化字符串.但是每次这个字符串包含上面的字符时,我都会得到上面提到的错误,但是对于ASCII的所有其他字符它都没问题.这也发生在u"....",U"......",如果我使用u8"....."它不会产生错误但会打印垃圾.

那么问题:

  1. 如何从ASCII集外部打印此字符和其他字符?
  2. 无论如何这是什么错误,它是什么意思?
  3. 我可以打印字符的唯一方法是通过调用setlocale()将语言环境设置为环境默认值(德语),然后只需创建一个包含此字符的普通数组就不会产生错误并正确打印,这里的问题是为什么!! 我完全不明白为什么现在这样做,因为char类型的大小没有改变所以我不假设这个调用setlocale()改变默认字符集中的字符映射(通常是ASCII).
  4. 如果有人可以对主题字符集以及如何在C++和C中处理它们提供更多的解释,那么我会特别感谢UTF-8,16,32(你不必自己编写)甚至其他一些组织良好,相对容易理解的网站,更彻底地解决这个问题非常受欢迎).

请求示例:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    wstring x = L"öäüß" ;

    wcout << x ;

    return 0 ;
}
Run Code Online (Sandbox Code Playgroud)

这会打印错误.

#include <iostream>
#include <string>
#include <locale>

using namespace std;

int main(void)
{

    setlocale(LC_ALL,""); // sets locale to german on my computer
    string x = "äöüß" ;

    cout << x ;

    return 0 ;
}
Run Code Online (Sandbox Code Playgroud)

这工作正常.但即使在更改语言环境后,如果我创建第一个代码,也会生成错误.

注意:我注意到在C++(而不是C)中,即使没有包含除iostream之外的任何文件,也会声明其他文件的所有内容,如字符串或语言环境或标准库中的任何其他文件,并且在std命名空间中.我暂时忽略了这一点,仍然包含文档文件,但为什么会发生这种情况.(我使用的是tdm-gcc 64bit)

c c++ string

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

YARN shell 命令获取运行应用程序使用的容器和 vcore 的数量

hadoop job -list 似乎只显示 mapreduce 作业,但我的资源管理器 UI 显示了诸如“分配的 CPU VCores”和“分配的内存 MB”之类的内容,用于在 YARN 上运行的所有作业(包括 Spark 和 Tez 等)。

如何通过命令行而不是进入 UI 获取这些结果?

hadoop hadoop-yarn

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

Hbase 表不一致[Region 未部署在任何区域服务器上]

在一个小的 HBase 集群中,所有的从节点都重新启动了。当我启动 HBase 服务时,其中一个表(测试)变得不一致

在 HDFS 中,一些块丢失(hbase 块)。所以它处于安全模式。我safemode -leave下令。

然后 HBase 表(测试)变得不一致。

我执行了以下提到的操作:

  1. 我多次执行“ hbase hbck ”。发现表“test”有 2 个不一致之处。

    ERROR: Region { meta=>test,1m\x00\x03\x1B\x15,1393439284371.4c213a47bba83c47075f21fec7c6d862., hdfs => hdfs://master:9000/hbase/test/4c213a47bba83c47075f21fec7c6d862, deployed => } not deployed on any region server.

  2. hbase hbck -fixMeta -fixAssignments HBaseFsckRepair:区域仍在转换中,等待它被分配:

    {NAME => 'test,1m\x00\x03\x1B\x15,1393439284371.4c213a47bba83c47075f21fec7c6d862.', STARTKEY => '1m\x00\x03\x1B\x15', ENDKEY => '', ENCODED => 4c213a47bba83c47075f21fec7c6d862,}

  3. hbase hbck -repair HBaseFsckRepair:区域仍在转换中,等待它被分配:

    {NAME => 'test,1m\x00\x03\x1B\x15,1393439284371.4c213a47bba83c47075f21fec7c6d862.', STARTKEY => '1m\x00\x03\x1B\x15', ENDKEY => '', ENCODED => 4c213a47bba83c47075f21fec7c6d862,}

  4. 我并行检查了datanode日志

    日志:

    org.apache.hadoop.hdfs.server.datanode.DataNode: opReadBlock BP-1015188871-192.168.1.11-1391187113543:blk_7616957984716737802_27846 …

java hadoop hbase cloudera

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

Windows 上 Hadoop 2.6 Mapreduce 权限设置不正确

我在Windows上安装了Hadoop 2.6作为一些依赖于Hadoop的软件的测试平台。据我所知,安装工作正常。我将 Hadoop 保存在 中C:\Hadoop,并将临时文件夹保存在C:\hadooptemp. 我按照本教程进行设置: https://drive.google.com/file/d/0BweVwq32koypYm1QWHNvRTZWTm8/view

当我按照教程中提供的方式运行 pi 的 hadoop-mapreduce-examples-2.6.0.jar 时,我得到以下输出:

Number of Maps  = 2
Samples per Map = 5
Wrote input for Map #0
Wrote input for Map #1
Starting Job
15/08/27 15:55:10 INFO client.RMProxy: Connecting to ResourceManager at /155.41.90.116:8032
15/08/27 15:55:12 INFO input.FileInputFormat: Total input paths to process : 2
15/08/27 15:55:12 INFO mapreduce.JobSubmitter: number of splits:2
15/08/27 15:55:13 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1440705227041_0001
15/08/27 15:55:14 INFO impl.YarnClientImpl: Submitted application …
Run Code Online (Sandbox Code Playgroud)

hadoop hadoop-yarn

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

iframe 禁用悬停效果

当您将鼠标悬停在 iframe 属性上时,我无法禁用该元素的效果。有没有其他方法可以解决当前的问题?

这是我的代码和原始解决方案:

iframe id="clock1" src="http://free.timeanddate.com/clock/i52azneg/n2253/szw110/szh110/hbw0/hfc000/cf100/hgr0/fav0/fiv0/mqcfff/mql15/mqw4/mqd94/mhcfff/mhl15/mhw4/mhd94/mmv0/hhcbbb/hmcddd/hsceee" frameborder="0" width="110" height="110"></iframe>

   script>

     $("iframe#clock1").contents().find("#hov").hide();

/script> 
Run Code Online (Sandbox Code Playgroud)

html css iframe hover

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