복붙노트

[HADOOP] 스파크웨어 하우스 폴더가 많은 이유는 무엇입니까?

HADOOP

스파크웨어 하우스 폴더가 많은 이유는 무엇입니까?

우분투에 hadoop 2.8.1을 설치 한 다음 spark-2.2.0-bin-hadoop2.7을 설치했습니다. spark-shell을 사용하여 테이블을 만들었습니다. 다시 beeline을 사용하고 테이블을 만들었습니다. spark-warehouse라는 세 개의 다른 폴더가 다음과 같이 생성되었습니다.

1- spark-2.2.0-bin-hadoop2.7 / spark-warehouse

2- 스파크 -2.2.0- 빈-하둡 2.7 / 빈 / 스파크웨어 하우스

3- 스파크 -2.2.0- 빈-하둡 2.7 / 스빈 / 스파크웨어 하우스

정확히 불꽃 창고 란 무엇이며 왜 여러 번 생성됩니까? 때로는 스파크 쉘과 비엘 라인에 다른 데이터베이스와 테이블이 표시되고 때로는 동일하게 표시됩니다. 무슨 일이 일어나고 있지 않습니까?

또한 하이브를 설치하지 않았지만 여전히 beeline을 사용할 수 있으며 Java 프로그램을 통해 데이터베이스에 액세스 할 수 있습니다. 하이브는 어떻게 기계에 나타 났습니까? 도와주세요. 온라인 자습서를 통해 스파크를 설치하고 설치했습니다.

아래는 JDBC를 통해 아파치 스파크를 연결하는 데 사용한 Java 코드입니다.

 private static String driverName = "org.apache.hive.jdbc.HiveDriver";

public static void main(String[] args) throws SQLException {
    try {
        Class.forName(driverName);
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        System.exit(1);
    }
    Connection con = DriverManager.getConnection("jdbc:hive2://10.171.0.117:10000/default", "", "");
    Statement stmt = con.createStatement();

해결법

  1. ==============================

    1.달리 구성하지 않으면 Spark는 derby.log를 사용하여 metastore_db라는 내부 Derby 데이터베이스를 만듭니다. 변경하지 않은 것 같습니다.

    달리 구성하지 않으면 Spark는 derby.log를 사용하여 metastore_db라는 내부 Derby 데이터베이스를 만듭니다. 변경하지 않은 것 같습니다.

    이것은 설명서에서 지적한 기본 동작입니다.

    때로는 스파크 쉘과 비엘 라인에 다른 데이터베이스와 테이블이 표시되고 때로는 동일하게 표시됩니다. 다른 폴더에서 해당 명령을 시작하므로 현재 작업 디렉토리에만 국한됩니다. 나는 beeline을 사용하고 테이블을 만들었습니다 ... 어떻게 하이브가 내 컴퓨터에 왔습니까? 그렇지 않았다. 언급 한 것처럼 HiveServer2 프로토콜, Derby 데이터베이스와 완벽하게 호환되는 Spark Thrift 서버에 연결 중이거나 실제로 HiveServer2 인스턴스가 10.171.0.117에 있습니다. 어쨌든 여기서는 JDBC 연결이 필요하지 않습니다. SparkSession.sql 함수를 직접 사용할 수 있습니다.

  2. ==============================

    2.독립형 모드에서 Spark는 디렉토리에 메타 스토어를 만듭니다. 그것이 시작된 곳에서. 이것은 여기에 설명되어 있습니다 : https://spark.apache.org/docs/latest/sql-programming-guide.html#hive-tables

    독립형 모드에서 Spark는 디렉토리에 메타 스토어를 만듭니다. 그것이 시작된 곳에서. 이것은 여기에 설명되어 있습니다 : https://spark.apache.org/docs/latest/sql-programming-guide.html#hive-tables

    따라서 spark.sql.warehouse.dir을 설정하거나 항상 동일한 디렉토리에서 스파크 작업을 시작해야합니다. (cd bin 대신 bin / spark를 실행하십시오. ./spark 등).

  3. from https://stackoverflow.com/questions/45819568/why-there-are-many-spark-warehouse-folders-got-created by cc-by-sa and MIT license