์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ๋น ๋ฐ์ดํฐ
- standalone
- ๋ฆฌ๋ ์ค RPM
- BIGDATA
- ์ํ์น ์คํํฌ
- ํ๋ก
- ์๋ผ์คํฑ์์น
- LeetCode
- kudu
- airflow
- ํ์ด๋ธ
- ์ค์๋ธ
- aws ccp
- ์ค์๋ธ ์ค์น
- ํ๋ก์์ฝ์์คํ
- hadoop
- ์ฑ๊ธ์๋ฒ
- ansible
- ๋ฆฟ์ฝ๋
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- elastic stack
- HBase
- ํด ์ค์น
- ์ค์นผ๋ผ ๋ถ
- ์คํํฌ
- ํ๋ก์ค์น
- Apache spark
- ๋ฆฌ๋ ์ค
- rpmbuild
- CLF-C02
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (122)
data_lab
ํด๋น ์ฑ ์ SQLD ์๊ฒฉ์ฆ ์ทจ๋์ ์ํ ์ํ์ ์ ๋๋ค SQL-Developer ๋ SQL์ ๋ดํฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ก๊ทธ๋จ์ด๋ ์์ฉ ์ํํธ์จ์ด์ ์ฑ๋ฅ์ ์ต์ ํํ๊ฑฐ๋, ์ด๋ฌํ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ง์ํ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด(๋ทฐ, ์ธ๋ฑ์ค ๋ฑ)์ ์ค๊ณ์ ๊ตฌํ ๋ฑ์ ์ง๋ฌด๋ฅผ ์ํํ๋ ์ ๋ฌธ๊ฐ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๊ฒฉ์ฆ ์ํ ์ผ์ -> https://www.dataq.or.kr/www/accept/schedule.do ๋ฐ์ดํฐ์๊ฒฉ์ํ ๋ฐ์ดํฐ์ํคํ ์ฒ ์ค์ ๋ฌธ๊ฐ ์ 54ํ - 3.20~24 4.7 4.23(์ผ) 5.12 5.19 - www.dataq.or.kr ์ด๊ธฐ์ SQL ๊ฐ๋ฐ์ ์ด๋ก ์ + ๊ธฐ์ถ๋ฌธ์ ์ปดํ ์๊ฒฉ์ฆ ์ค๋นํด๋ณธ ์ฌ๋๋ค์ ๋ง์ด ์ ํด๋ณธ '์ด๊ธฐ์ '์ ๋๋ค ํด๋น ์ฑ ์ ๊ฐ๋ฐ์ ๋ฐ ๊ฐ๋ฐ์ ์ค๋นํ๋ ์ทจ์ค์, ์ปดํจํฐ ์ ๊ณต ํ์, ๋ง์ผํ ..
๋ฐ์ดํฐ ๋ธ๋ฆญ์ค - spark ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ถ์ ํ๋ซํผ (ex: aws EMR) ๋ธํ ๋ ์ดํฌ - Databricks Lakehouse ํ๋ซํผ์ ๋ฐ์ดํฐ ๋ฐ ํ ์ด๋ธ์ ์ ์ฅํ๊ธฐ ์ํ ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ ์ต์ ํ๋ ์คํ ๋ฆฌ์ง ๊ณ์ธต ํ์ผ๊ธฐ๋ฐ ํธ๋์ญ์ ๋ก๊ทธ๋ฅผ ์ฌ์ฉํด parquet ๋ฐ์ดํฐ ํ์ผ์ ํ์ฅ → ACID ํธ๋์ญ์ ๋ฐ ์ค์ผ์ผ๋ง ๊ฐ๋ฅํ ๋ฉํ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ผ๊ด ์ฒ๋ฆฌ ๋ฐ ์คํธ๋ฆฌ๋ฐ ์์ ๋ชจ๋์ ๋จ์ผ ๋ฐ์ดํฐ ๋ณต์ฌ๋ณธ์ ์ฝ๊ฒ ์ฌ์ฉํ๊ณ ๋๊ท๋ชจ๋ก ์ฆ๋ถ ์ฒ๋ฆฌ๋ฅผ ์ ๊ณต ๋ฐ์ดํฐ ๋ธ๋ฆญ์ค์ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ํ์์ ๋ธํ๋ ์ดํฌ SQL ๋ฌธ๋ฒ https://learn.microsoft.com/ko-kr/azure/databricks/sql/language-manual/#delta-lake-statements Python API https://docs.del..
Secondary Namenode: HDFS์ Secondary Namenode๋ ์ฃผ Namenode์ ๋ฉํ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์์งํ์ฌ ๋ก๊ทธ ํ์ผ์ ํฉ์นฉ๋๋ค. ์ด๋ฌํ ๋ก๊ทธ ํ์ผ์ ์ฃผ Namenode๊ฐ ๊ณ ์ฅ ๋ฌ์ ๋, ์ด์ ์ ์์ง๋ ๋ก๊ทธ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ Namenode๋ฅผ ๋ณต๊ตฌํ๊ณ ๋ฉํ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ๋ณต์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ๋ผ์, Secondary Namenode๋ ์ฃผ Namenode์ ๋ถํ๋ฅผ ์ค์ด๊ณ HDFS ํด๋ฌ์คํฐ์ ์์ ์ฑ์ ๋์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. Standby Namenode: HDFS์ Standby Namenode๋ ์ฃผ Namenode์ ํจ๊ป HDFS์ ๊ณ ๊ฐ์ฉ์ฑ(High Availability, HA)๋ฅผ ์ ๊ณตํฉ๋๋ค. Standby Namenode๋ ์ฃผ Namenode์ ๋ฐ์ดํฐ์ ๋ฉํ๋ฐ..
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
partitionColumnํํฐ์ ์ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉํด์ผ ํ๋ ์ด lowerBound๊ฐ์ ธ์ฌ ๊ฐ์ ๋ฒ์ ๋ฅผ upperBound๊ฒฐ์ ํฉ๋๋ค. ์ ์ฒด ๋ฐ์ดํฐ ์ธํธ๋ ๋ค์ ์ฟผ๋ฆฌ์ ํด๋นํ๋ ํ์ ์ฌ์ฉ SELECT * FROM table WHERE partitionColumn BETWEEN lowerBound AND upperBound lowerBound: 0 upperBound: 1000 numPartitions: 10 Stride๋ 100์ด๊ณ ํํฐ์ ์ ๋ค์ ์ฟผ๋ฆฌ์ ํด๋นํฉ๋๋ค. SELECT * FROM table WHERE partitionColumn BETWEEN 0 AND 100 SELECT * FROM table WHERE partitionColumn BETWEEN 100 AND 200 SELECT * FROM..
์คํํฌ ์ธ์ ์์ฑ val spark = SparkSession .appName("Spark Session") .config("config.name",congfig.value") .getOrCreate() ์คํํฌ ์ ํ๋ฆฌ์ผ์ด์ -> ์คํํฌ ๋๋ผ์ด๋ฒ ํ๋ก๊ทธ๋จ -> ์คํํฌ ์ธ์ ๊ฐ์ฒด ์คํํฌ ๋๋ผ์ด๋ฒ๋ ์คํํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ด์์ ์ก์ผ๋ก ๋ณํ ์ก์๋ ์ฐ์ฐ์ด ์ฌ๋ฌ๊ฐ์ ์คํํฌ ์คํ ์ด์ง๋ก ๋๋จ ๊ฐ ์คํ ์ด์ง๋ ์ต์ ์คํ ๋จ์์ด๋ฉฐ ์ฐํฉ ์คํ๋๋ ์คํํฌ ํ์คํฌ๋ค๋ก ์ด๋ฃจ์ด์ง
AWS EMR ์ ๋น ๋ฐ์ดํฐ ํ๋ซํผ ์ด๋ค. (ํ๋ก ํ๋ซํผ) ํด๋ฌ์คํฐ ๊ตฌ์ฑ - ๋ง์คํฐ Hadoop ์ HDFS Namenode, YARN Resource Manger๊ฐ ์คํ๋๋ ์ธ์คํด์ค ์ด๋ค. - ์ฝ์ด ๋ง์คํฐ ๋ ธ๋์์ ๊ด๋ฆฌํ๋ฉฐ, Hadoop ์ HDFS Datanode, Yarn Nodemanager, MapReduce Task Tracker, Spark Executor ์คํํจ - ํ์คํฌ Datanode ์คํํ์ง ์์ผ๋ฉฐ, HDFS์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง๋ ์์ Spark executor, MapReduce ์ ๊ฐ์ ์์ ์ ์คํํจ
์ค์นผ๋ผ ํด๋์ค์ ๊ดํด ์ ๋ฆฌํจ https://docs.scala-lang.org/overviews/scala-book/classes.html ๊ธฐ๋ณธ ํด๋์ค ์์ฑ์ class Person(var firstName: String, var lastName: String) val p = new Person("Bill", "Panner") println(p.firstName + " " + p.lastName) //Bill Panner p.firstName = "William" p.lastName = "Bernheim" val๋ ํ๋๋ฅผ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง๋ฆ val(value) : ๋ณ๊ฒฝํ ์ ์์ var(variable) : ๋ณ๊ฒฝํ ์ ์์ ์ค์นผ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ var ํ๋๋ฅผ ๋ณ๊ฒฝํ ..
์ค์นผ๋ผ์ ๋ง ์ค์นผ๋ผ ํน์ง ์ ์ ํ์ ๊ตฌ๋ฌธ ๊ฐ๊ฒฐํ๋ฉฐ ์ฝ๊ธฐ ์ฌ์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ณผ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์ ์ง์ ์ ๊ตํ ์ ํ ์ถ๋ก ์์คํ ? JVM์์ ์คํ๋๋ ํด๋์คํ์ผ ์์ฑ ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ ์ฌ์ Hello, World Hello.scala object Hello expends App { println("Hello, World") } ๋ ๊ฐ์ง ์ ํ์ ๋ณ์ val : ๋ถ๋ณ ๋ณ์ - ์๋ฐ์์ final๊ณผ ๊ฐ์ var : ๊ฐ๋ณ ๋ณ์ - ํน๋ณํ ์ด์ ๊ฐ ์์ ๋๋ง ์ฌ์ฉ ๋ณ์ ์ ํ ์ ์ธ ์ ํ์ ์ ์ธํ์ง ์๊ณ ๋ณ์๋ฅผ ๋ง๋ฆ val x = 1 val s = "string" val p = new Persion("Regina") ๋ฐ์ดํฐ ์ ํ์ ์ ์ถํ ์ ์์ผ๋ฉฐ, ์ฝ๋ ๊ฐ๊ฒฐํ๊ฒ ์ ์งํ๋๋ฐ ๋์๋จ ์ ํ ๋ช ์ํ ์..