Spark 프로그래밍 기본 사항(Python 버전)

1.Spark의 설치 및 환경 구성 마스터



2.Spark의 설치 및 환경 구성 마스터



3. Ubuntu에서 마스터 Python 버전 관리 및 타사 설치



4.Windows에서 pychar와 Ubuntu 간의 동기식 연결 마스터



5.파일 시스템에서 spark로 읽은 데이터 마스터



참조 웹사이트:



https://spark.apache.org/docs/1.1.1/quick-start.html

1.먼저 쓰기: 실험 환경



Hadoop 환경이 있어야 합니다. 내 다른 블로그를 읽을 수 있습니다.





Operating system: Ubuntu 16 04;
Spark version: 2.4.6;
Hadoop version: 2.7.2.
Python version: 3.5.


여기 다운로드를 클릭하세요: spark-2.4.6-bin-without-hadoop.tgz


2.Spark의 설치 및 환경 구성 마스터


1. 스파크 패키지의 압축을 풀고 이동합니다.



ubuntu@adserver:~$ tar zxf spark-2.4.6-bin-without-hadoop.tgz 
ubuntu@adserver:~$ ls -lh
total 536M
-rw-rw-r--  1 ubuntu ubuntu 203M Mar 28 09:59 hadoop-2.7.2.tar.gz
-rw-rw-r--  1 ubuntu ubuntu 173M Mar 28 09:11 jdk-8u77-linux-x64.tar.gz
-rw-rw-r--  1 ubuntu ubuntu  458 Mar 28 13:31 jps
drwxr-xr-x 13 ubuntu ubuntu 4.0K May 30  2020 spark-2.4.6-bin-without-hadoop
-rw-rw-r--  1 ubuntu ubuntu 161M Mar 26 19:34 spark-2.4.6-bin-without-hadoop.tgz
ubuntu@adserver:~$ sudo mv spark-2.4.6-bin-without-hadoop /usr/local/
ubuntu@adserver:~$ cd /usr/local/
ubuntu@adserver:/usr/local$ sudo mv spark-2.4.6-bin-without-hadoop/ spark
ubuntu@adserver:/usr/local$ ls -lh spark/


2.Spark 환경 변수 파일 수정



ubuntu@adserver:~$ cd /usr/local/spark/conf/
ubuntu@adserver:/usr/local/spark/conf$ pwd
/usr/local/spark/conf
ubuntu@adserver:/usr/local/spark/conf$ cp spark-env.sh.template spark-env.sh
ubuntu@adserver:/usr/local/spark/conf$ vi spark-env.sh


spark env SH 파일(vi ./conf/spark-env.sh)을 편집하고 첫 번째 줄에 다음 구성 정보를 추가합니다.

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-2.7.2/bin/hadoop classpath)



위의 구성 정보를 통해 Spark는 Hadoop 분산 파일 시스템 HDFS에 데이터를 저장하거나 HDFS에서 데이터를 읽을 수 있습니다. 위의 정보가 구성되지 않은 경우 spark는 로컬 데이터를 읽고 쓸 수만 있고 HDFS 데이터를 읽고 쓸 수는 없습니다. 구성 후에는 Hadoop과 같은 시작 명령을 실행하지 않고 바로 사용할 수 있습니다. spark에서 제공하는 예제를 실행하여 spark가 성공적으로 설치되었는지 확인합니다.
실행 중에는 많은 실행 정보가 출력되며 출력 결과를 찾기가 쉽지 않습니다. grep 명령을 통해 필터링할 수 있습니다(명령의 2 > & 1은 모든 정보를 stdout으로 출력할 수 있습니다. 그렇지 않으면 출력 로그의 특성으로 인해 화면에 출력됩니다).

ubuntu@adserver:/usr/local/spark$ ./bin/run-example SparkPi 2>&1 | grep "Pi is"



/usr/local/spark/bin/pyspark 파일의 내용 수정
45행 Python을 python3으로 변경

명령 실행sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
ubuntu@adserver:/usr/local/spark/bin$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150




3. Ubuntu에서 마스터 Python 버전 관리 및 타사 설치




whereis python3  #  Confirm Python 3 directory
cd  /usr/lib/python3.5   # Switch directory 
sudo apt-get install python3-pip   #  install pip 
sudo pip3 install -i https://pypi.doubanio.com/simple matplotlib  #  install matplotlib 



ubuntu@adserver:~$ whereis python3
python3: /usr/bin/python3 /usr/bin/python3.5 /usr/bin/python3.5m /usr/lib/python3 /usr/lib/python3.5 /etc/python3 /etc/python3.5 /usr/local/lib/python3.5 /usr/share/python3 /usr/share/man/man1/python3.1.gz
ubuntu@adserver:~$ cd /usr/lib/python3.5/
ubuntu@adserver:/usr/lib/python3.5$ sudo apt-get install python3-pip
ubuntu@adserver:/usr/lib/python3.5$ sudo pip3 install -i https://pypi.doubanio.com/simple matplotlib





4.Windows에서 pychar와 Ubuntu 간의 동기식 연결 마스터


1) pychart 열기 및 파일 열기 --> 설정 -->



+ 기호를 클릭한 다음 SSH 인터프리터를 선택하여 서버를 설정합니다. 가상 머신 Ubuntu의 IP 주소, 사용자 이름 및 비밀번호를 입력하십시오.



5.파일 시스템에서 spark로 읽은 데이터 마스터


1) pyspark에서 Linux 시스템의 로컬 파일 "/home/Hadoop/test.txt"를 읽은 다음 파일의 줄 수를 세십시오.



먼저 테스트 파일을 생성합니다.

$ vi /home/hadoop/test.txt
this is line 1
this is line 2
this is line 3
this is line 4




ubuntu@adserver:/usr/local/spark/bin$ pwd
/usr/local/spark/bin
ubuntu@adserver:/usr/local/spark/bin$ ./pyspark 
Python 3.5.2 (default, Jan 26 2021, 13:30:48) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
22/03/28 15:57:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.4.6
      /_/

Using Python version 3.5.2 (default, Jan 26 2021 13:30:48)
SparkSession available as 'spark'.
>>> lines = sc.textFile("file:/home/hadoop/test.txt")
>>> lines.count()
4
>>> 




2) HDFS 시스템 파일 "/user/Hadoop/test.txt"를 읽고(파일이 없으면 먼저 생성하십시오) 파일의 줄 수를 세십시오.




ubuntu@adserver:~$ cd /home/hadoop/
ubuntu@adserver:/home/hadoop$ hadoop fs -ls /
Found 1 items
drwxrwx---   - ubuntu supergroup          0 2022-03-28 17:15 /tmp
ubuntu@adserver:/home/hadoop$ hadoop fs -mkdir -p /user/hadoop
ubuntu@adserver:/home/hadoop$ hadoop fs -put test.txt /user/hadoop/
ubuntu@adserver:/home/hadoop$ hadoop fs -ls /user/hadoop/
Found 1 items
-rw-r--r--   3 ubuntu supergroup         60 2022-03-28 17:17 /user/hadoop/test.txt
ubuntu@adserver:/home/hadoop$ /usr/local/spark/bin/pyspark 
>>> lines = sc.textFile("/user/hadoop/test.txt")     
>>> lines.count()




3)독립 응용 프로그램을 작성하고 HDFS 시스템 파일 "/user/Hadoop/test.txt"를 읽은 다음(파일이 없으면 먼저 생성하십시오) 파일의 줄 수를 세십시오.




ubuntu@adserver:/home/hadoop$ sudo vi st-app.py

from pyspark import SparkContext

logFile = "/user/hadoop/test.txt"  # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()
print("The HDFS file lines : ",logData.count())




ubuntu@adserver:/home/hadoop$ /usr/local/spark/bin/spark-submit --master local[4] st-app.py 2>&1 | grep "The HDFS"




안녕하세요,이 블로그가 유용하다고 생각되면 좋아요와 팔로우를 부탁드립니다. 감사합니다, 좋은 하루 되세요!!!!!!

좋은 웹페이지 즐겨찾기