Dataproc Metastore에서 Spark SQL 사용

이 페이지에서는 Dataproc Metastore 서비스에서 Spark SQL을 사용하는 예시를 보여줍니다. 이 예시에서는 Dataproc 클러스터에서 Spark SQL 세션을 시작하고 몇 가지 샘플 명령어를 실행하여 데이터베이스 및 테이블을 만듭니다.

시작하기 전에

Spark SQL에 연결

Spark SQL을 사용하려면 SSH를 사용하여 Dataproc Metastore 서비스와 연결된 Dataproc 클러스터에 연결합니다. SSH를 사용하여 클러스터에 연결한 후에는 Spark 명령어를 실행하여 메타데이터를 관리할 수 있습니다.

Spark SQL에 연결

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
  2. 가상 머신 인스턴스 목록에서 연결할 Dataproc VM 인스턴스 행의 SSH를 클릭합니다.

노드의 홈 디렉터리에 다음과 비슷한 출력이 표시된 브라우저 창이 열립니다.

Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$

Hive를 시작하고 데이터베이스와 테이블을 만들려면 SSH 세션에서 다음 명령어를 실행합니다.

  1. Spark 셸을 시작합니다.

    spark-shell
    
  2. myDB라는 데이터베이스를 만듭니다.

    spark.sql("create database myDB");
    
  3. 생성한 데이터베이스를 사용합니다.

    spark.sql("use myDB");
    
  4. myTable이라는 테이블을 만듭니다.

    spark.sql("create table bar(id int,name string)");
    
  5. myDatabase 아래의 테이블을 나열합니다.

    spark.sql("show tables").show();
    
  6. 생성한 테이블의 테이블 행을 표시합니다.

    desc myTable;
    

이러한 명령어를 실행하면 다음과 비슷한 출력이 표시됩니다.

$spark-shell

scala>spark.sql("create database myDB");

scala>spark.sql("use myTable");

scala>spark.sql("create table myTable(id int,name string)");

scala>spark.sql("show tables").show();

+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
|    myDB|  myTable|      false|
+--------+---------+-----------+
+--------+---------+-------+
|col_name|data_type|comment|
+--------+---------+-------+
|      id|      int|   null|
|    name|   string|   null|
+--------+---------+-------+

다음 단계