๋ชฉ๋ก๋ฐ์ดํฐ/Spark (22)
๐ฅ
์คํํฌ์์ Join ์์๋ ์ํฉ์ ๋ฐ๋ผ Shuffle ์ฐ์ฐ์ ์ํํด์ผ ํ๊ณ , ์ด๋ executor ์ฌ์ด์ ๋ฐฉ๋ํ ๋ฐ์ดํฐ ์ด๋์ ์ผ๊ธฐํ๋ค. ์คํํฌ์์ ์ฌ์ฉ๋๋ ์กฐ์ธ์ ๋ฐฉ์์ ์๋์ ๊ฐ๋ค. 1. Broadcast Hash Join ๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ธํ ๋ ํ ์ชฝ์ด ๋งค์ฐ ์๊ณ ํ ์ชฝ์ ๋งค์ฐ ํฐ ์ฌ์ด์ฆ์ ๋ฐ์ดํฐ์ผ ๋, ๋ ์์ ์ชฝ์ ๋ฐ์ดํฐ๊ฐ Driver์ ์ํด ๋ชจ๋ executor๋ก ๋ณต์ฌ๋๋ ๋ฐฉ์์ด๋ค. ์ฌ์ด์ฆ๊ฐ ์์ ํ ์ด๋ธ์ ํค ๊ฐ์ ํด์ ํ ์ด๋ธ๋ก ๋ง๋ ๋ค. ํด์ ํ ์ด๋ธ์ ๊ฐ์ ํฐ ํ ์ด๋ธ ํํฐ์ ์ ๋ณต์ฌํด์ค๋ค. ๊ฐ ํํฐ์ ๋ด๋ถ์์ ์กฐ์ธ์ ์งํํ๋ค. ์ด ๋ฐฉ์์ shuffle์ ์๋ตํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ด๋์ ๋ฐ๋ฅธ ์ฝ์คํธ๊ฐ ์ฌ๋ผ์ง๋ค. ๋ชจ๋ executor์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ ๋ณต์ฌํ๋ ค๋ dataset์ด ..
2.4.4 ์ดํ์ 2.4.5 ์ด์ ๋ฒ์ ์์ ํ๋ก configuration ์ค์ ํ๋๊ฒ ์ข ๋ค๋ฅธ ๋ฏ ํ๋ค. Spark ๋ฒ์ 2.4.4 ์ดํ spark = SparkSession.builder.appName("myapp") \ .config("some.config", "some.value") \ .getOrCreate() # signature V4 ๋ฅผ ์ฌ์ฉํ๋ ๋ฆฌ์ ์ผ ๊ฒฝ์ฐ ์๋ property ์ค์ spark.sparkContext.setSystemProperty("com.amazonaws.services.s3.enableV4", "true") # s3 ์ ๋ณด ์ค์ spark.sparkContext._jsc.hadoopConfiguration().set(f"fs.s3a.bucket.{mybucket}.endpo..
sparksession์ ์ฌ์ฉํ์ฌ ๊ฐ์ ธ์ฌ ์ ์๋ค. (Spark 2.0 ์ด์) import pyspark from pyspark.sql import SparkSession spark = SparkSession.builder.appName("s3test").config("spark.some.config.option", True).getOrCreate() df = spark.read.parquet("s3a://my-bucket/my/s3/path") schema, option๋ฑ HiveContext๋ฅผ ์ด์ฉํ์ฌ hdfs ํ์ผ์ ๋ก๋ํ ๋์ ๋์ผํ๊ฒ ์ต์ ๋ ์ค ์ ์์ ์ฐธ๊ณ : https://stackoverflow.com/questions/44629156/how-to-read-parquet-data-from-s..
๋ฎจ์ ์ํฉ dataframe ๋ ๊ฐ๋ฅผ ์กฐ์ธํ๋ ค๋๋ฐ ์๋์ ๊ฐ์ ์๋์ด ์ฃผ๋ฅด๋ฅต ๋ฐ์ํ๋๋ ์ค๋ฅ๋ฅผ ์ถ๋ ฅํ๊ณ ์ดํ๋ฆฌ์ผ์ด์ ์ด ์ข ๋ฃ๋๋ค. ... 23/05/22 04:39:35 WARN TaskMemoryManager: Failed to allocate a page (2097152 bytes), try again. 23/05/22 04:39:35 WARN TaskMemoryManager: Failed to allocate a page (2097152 bytes), try again. 23/05/22 04:39:35 WARN TaskMemoryManager: Failed to allocate a page (2097152 bytes), try again. 23/05/22 04:39:36 WARN TaskMemoryMa..