J’installe Apache Hadoop sur un seul cluster, sur mon portable en fait. J’ai effectué toute l’installation conformément au manuel ici , cependant, j’ai eu des erreurs lors de l’installation. Une solution consiste à le comstackr manuellement en utilisant VS, et je l’ai fait. Mais en construisant le code, j’obtiens une erreur avec la ligne suivante
#define WIDEN_STRING(x) WIDEN_STRING_(x) #define WIDEN_STRING_(x) L ## x #define STRINGIFY(x) STRINGIFY_(x) #define STRINGIFY_(x) #x #pragma message("WSCE config is " STRINGIFY(WSCE_CONFIG_DIR) "\\" STRINGIFY(WSCE_CONFIG_FILE)) const WCHAR* wsceConfigRelativePath = WIDEN_STRING(STRINGIFY(WSCE_CONFIG_DIR)) L"\\" WIDEN_STRING(STRINGIFY(WSCE_CONFIG_FILE));
dans le fichier HADOOP_SRC_FOLDER\hadoop-common-project\hadoop-common\src\main\winutils\libwinutils.c
.
Cependant, ma question est ce qui ne va pas avec cette ligne de code? Bien que cela semble invalide selon le standard du C ++. Je suis totalement confondu avec cette ligne de code.
Dans Hadoop 2.6, cela se faisait via le maven. Ces valeurs sont définies comme propriétés dans le fichier hadoop-common-project / hadoop-common / pom.xml comme suit:
common true ../etc/hadoop wsce-site.xml
Ceci a été utilisé plus tard lors de l’appel de msbuild
Le fichier libwinutils.vxcproj définit alors WSCE_CONFIG_DIR et WSCE_CONFIG_FILE comme suit:
WIN32;_DEBUG;_UNICODE;UNICODE;WSCE_CONFIG_DIR=$(WsceConfigDir);WSCE_CONFIG_FILE=$(WsceConfigFile);%(PreprocessorDefinitions)