Искра - Получение исключения org.apache.spark.Logging не найден - PullRequest
0 голосов
/ 21 сентября 2018

Мы создаем приложение на основе Spark, используя Spark 2.3.0.Наши рабочие места Spark взаимодействуют с HBase.При создании JAR мы получаем следующее исключение исключения времени компиляции: файл класса [ERROR] для org.apache.spark.Logging not found Это исключение происходит в коде, который читает данные из таблиц HBase.

Мы можем успешно записать данные в таблицы HBase, используя нижеприведенную конфигурацию / версии jar.

Мы используем следующую конфигурацию в pom.xml

<property>
<org.apache.spark.version>2.3.0</org.apache.spark.version>
<scala.version>2.11</scala.version>
<hbase.version>1.0.0-cdh5.4.0</hbase.version>
</property> 

<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scala.version}</artifactId>
<version>${org.apache.spark.version}</version>
</dependency>


        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_${scala.version}</artifactId>
            <version>${org.apache.spark.version}</version>
        </dependency>


        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-spark</artifactId>
            <version>1.2.0-cdh5.10.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>${hbase.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-common</artifactId>
            <version>${hbase.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>${hbase.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-protocol</artifactId>
            <version>${hbase.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.htrace</groupId>
            <artifactId>htrace-core</artifactId>
            <version>3.1.0-incubating</version>
        </dependency>

Мы нашли несколько решений для stackoverflowВсе упоминают использовать Spark 1.6 вместо. java.lang.NoClassDefFoundError: org / apache / spark / Logging

Это невозможно для нас.

Существуют ли другие способы решения этой проблемы?

Спасибо

1 Ответ

0 голосов
/ 28 февраля 2019

Отвечая на старый вопрос, который я разместил здесь.Так как мы не смогли откатиться до версии Spark 1.6 (мы используем Spark 2.3), следовательно, мы нашли способ использования HBaseContext.bulkGet.

Мы делаем что-то, как показано ниже:

val respDataFrame = keyDf.mapEachPartition((keys) => {
--> creating instance of HTable
--> create list of all the gets 
--> fetch getsList
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...