Apache Spark 2.0.0에서 테이블 데이터 대신 쿼리 결과 검색
Apache Spark 2.0.0에서는 전체 테이블을 Spark에 로드하는 대신 외부 데이터베이스의 특정 쿼리 결과 세트를 가져옵니다. 이는 성능을 최적화하고 Spark 애플리케이션에서 처리되는 데이터 양을 줄이는 데 유용할 수 있습니다.
PySpark를 사용하면 읽기 메서드의 dbtable 인수로 하위 쿼리를 지정할 수 있습니다. 이 하위 쿼리는 외부 데이터베이스에서 실행되고 결과 데이터는 Spark에 로드됩니다. 예를 들어, 다음 코드는 전체 Schema.tablename 테이블을 로드하는 대신 쿼리 결과를 검색하는 방법을 보여줍니다.
from pyspark.sql import SparkSession spark = SparkSession\ .builder\ .appName("spark play")\ .getOrCreate() df = spark.read\ .format("jdbc")\ .option("url", "jdbc:mysql://localhost:port")\ .option("dbtable", "(SELECT foo, bar FROM schema.tablename) AS tmp")\ .option("user", "username")\ .option("password", "password")\ .load()
하위 쿼리를 dbtable 인수로 지정하면 특정 열만 선택할 수 있습니다. 및 관심 있는 행을 선택하세요. 이렇게 하면 특히 대규모 테이블을 처리할 때 성능이 크게 향상될 수 있습니다.
위 내용은 Apache Spark 2.0.0에서 전체 테이블 대신 특정 쿼리 결과를 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!