올해 시청 1위는 심장~

'Etc' 카테고리의 다른 글
| 주식 매매 실수 기록 (0) | 2023.07.30 |
|---|---|
| 내 카카오톡 프로필 클릭 수 확인하기 (0) | 2023.07.08 |
| 주연테크(V28UE) 모니터 꺼짐 현상(feat. 맥북) (0) | 2023.06.17 |
올해 시청 1위는 심장~

| 주식 매매 실수 기록 (0) | 2023.07.30 |
|---|---|
| 내 카카오톡 프로필 클릭 수 확인하기 (0) | 2023.07.08 |
| 주연테크(V28UE) 모니터 꺼짐 현상(feat. 맥북) (0) | 2023.06.17 |
centos 환경에서 설치하였습니다.
#클릭하우스 저장소
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
#ClickHouse 서버와 클라이언트를 설치합니다.
sudo yum install -y clickhouse-server clickhouse-client
#ClickHouse 서비스를 활성화하고 시작합니다.
sudo systemctl enable clickhouse-server
sudo systemctl start clickhouse-server
sudo systemctl restart clickhouse-server
sudo systemctl stop clickhouse-server
#상태확인
sudo systemctl status clickhouse-server
#클릭하우스 콘솔 접속
clickhouse-client
#sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo 에러 python 버전 디폴트가 3으로 설정되어 있을 때 발생하며 버전2로 변경
ls /usr/bin/ | grep python
----------------------------
abrt-action-analyze-python
python
python2
python2.7
python3
python3.6
python3.6m
----------------------------
update-alternatives --config python
update-alternatives --install /bin/python python /bin/python3.6 1
update-alternatives --install /bin/python python /bin/python2.7 2
update-alternatives --config python
클릭하우스 설치를 위해 아래 명령어를 입력하던 중 에러가 발생하였다.
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
python 버전 디폴트가 3으로 설정되어 발생하였으며, 해결을 위해 2로 변경해 준다.
#파이썬 버전확인
ls /usr/bin/ | grep python
----------------------------
abrt-action-analyze-python
python
python2
python2.7
python3
python3.6
python3.6m
----------------------------
# 현재 설정 파이썬버전 확인
update-alternatives --config python
# 설정에 버전 추가하기
update-alternatives --install /bin/python python /bin/python3.6 1
update-alternatives --install /bin/python python /bin/python2.7 2
# 설정에 들어가 2버전으로 변경
update-alternatives --config python| [python] 특정기간 월별 데이터프레임 만들기 (0) | 2023.07.05 |
|---|---|
| [Python] Python을 통한 mariadb 대용량 데이터 insert (0) | 2023.06.26 |
| ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all() (0) | 2023.01.25 |
| [python] 특정 문자열 이후 제거하기(정규표현식 X) (0) | 2022.12.13 |
| [Python] Python을 통한 MSSQL 대용량 데이터 insert 속도 테스트 (0) | 2022.11.08 |
최근 주키퍼 version-2폴더 안에 스냅샷 로그가 매우 많아 디스크 용량이 90%이상 초과되었습니다.
따라서, 데이터를 삭제해줘야하는데, 직접 삭제하는 경우는 주키퍼 노드간 정합성 불일치 이슈가 있기 때문에 서치 중, conf폴더 아래 zoo.cfg 설정을 통해 해결할 수 있었습니다.
주키퍼의 경우 디폴트로 아래 옵션이 주석처리 되어 적용되지 않습니다. 따라서 아래 옵션을 활성화 시켜줍니다.
아래 옵션은 24시간 마다 스냅샷과 트랙잭션 로그를 3개 남기라는 옵션입니다.
# 스냅샷 유지 갯수
autopurge.snapRetainCount=3
# autopurge를 해당 주기마다 실행 (24시간)
autopurge.purgeInterval=24
해당 설정은 주키버 재시작을 해야만 적용됩니다. 아래 명령를 통해 재시작하게 되면, 3개의 스냅샷 로그와 트랜잭션 로그를 제외하고 삭제된 것을 확인할 수 있습니다.
/zookeeper/default/bin/zkServer.sh restart
아래 명령어를 통해 파일의 row수를 셀 수 있습니다.
cat 파일명.xml | wc -l
194| [centos] sbt 설치하기 (0) | 2023.07.07 |
|---|---|
| [linux] sbt 설치방법 (0) | 2023.04.05 |
| [linux] netstat 설명 (0) | 2023.03.30 |
| Mac m1 brew 설치 및 warning: /opt/homebrew/bin is not in your path 에러해결 (0) | 2022.07.09 |
| centos7에 jupyter notebook 실행하기 (0) | 2019.12.13 |
주키퍼 실행, 저널노드 실행했더니, 아래 에러가 발생하고 있었습니다. 아래 에러이며, 해당 저널 스토리지에 포멧이 되지 않았는다는 문구로, 하둡 HA구성 시 발생할 수 있습니다.

하둡 bin폴더에서 아래 명령어를 실행하게 되면, 관련 에러가 사라진 걸 볼 수 있습니다.
hdfs namenode -initializeSharedEdits 명령어를 실행하면 네임노드의 편집 로그를 초기화하고 공유된 편집 로그 시스템을 설정하는 작업을 수행합니다. 편집 로그의 초기화는 데이터를 삭제하지 않지만, 해당 네임노드의 편집 로그를 새로운 시작점으로 설정합니다.
./hdfs namenode -initializeSharedEdits
현재 몽고 DB에 아래와 같은 데이터가 저장되어 있습니다. KEY로는 reg_date, user_id, ids가 있으며, ids안에 다시 key:value 형태로 id와 score를 저장하고 있습니다.
{
"_id" : ObjectId("abcdefg"),
"reg_date" : "2023-05-07",
"user_id" : "foo",
"ids" : [
{
"id" : "boo",
"score" : "100.0"
},
{
"id" : "boo1",
"score : "80.0"
}
]
}
트리노에서 위의 몽고 데이터를 조회하게 되면 아래와 같이 나옵니다.
| reg_date | user_id | ids |
| 2023-05-07 | foo | {{id=boo, score=100.0},{id=boo1, score = 80.0}} |
앞서 말씀 드린 것과 같이 ids안에는 각각의 id와 score가 key:value형태로 저장되어있습니다.
이번 포스팅에서는 json형태의 ids안에 key를 각 컬럼 value를 row로 변경해보려 합니다.
| reg_date | user_id | ids |
| 2023-05-07 | foo | {{id=boo, score=100.0},{id=boo1, score = 80.0}} |
| reg_date | user_id | id | score |
| 2023-05-07 | foo | boo | 100.0 |
| 2023-05-07 | foo | boo1 | 80.0 |
아래와 같이 unnest, cross join을 통해 간단하게 추출할 수 있습니다.
select a.reg_date, a.user_id ,id ,score
from mongo.db.table a
cross join unnest(ids) as x(id,score)
where reg_date '2023-05-07'
and user_id ='foo'| [크롤링] WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH. (2) | 2023.08.04 |
|---|---|
| WSL 에 운영체제 설치하기 (0) | 2022.12.15 |
| WLS에 설치된 운영체제 삭제하기 (0) | 2022.12.15 |
| [리뷰] 금융 전략을 위한 머신러닝 (Machine Learning and Data Science Blueprints for Finance) (0) | 2022.02.23 |
| [mac m1] Visual Studio Code에 anaconda 가상환경 연결 (0) | 2021.08.14 |
이번주 부터 갑자기 자동화로 수집되는 크롤링들이 안되는 경우가 있었을 겁니다. 이유는 바로 115버전으로 업데이트 되면서 chromedriver_autoinstaller.install(True)이 제대로 작동하지 않아서 입니다. 저는 아래와 같은 에러메세지가 발생했습니다.

https://chromedriver.chromium.org/downloads
ChromeDriver - WebDriver for Chrome - Downloads
Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading. For older versions of Chrome, please se
chromedriver.chromium.org
우선 115가 아니더라도 자신의 크롬버전의 맞은 크롬드라이브를 다운받습니다. 우선 아래 빨간색 밑줄 클릭후

저는 115이기 때문에 stable win64버전을 다운받았습니다.

기존에러 코드
chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]
try:
driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
except:
chromedriver_autoinstaller.install(True)
driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
driver.implicitly_wait(10)
수정된 에러코드
저는 스크립트와 크롬드라이브를 같은 폴더내에 위치하여 경로를 아래와 같이 잡았습니다. 수정 후 배치를 다시 진행되면 스크립트가 정상적으로 수행되는 것을 볼 수 있습니다.
chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]
try:
driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
except:
chromedriver_autoinstaller.install(True)
## 현재 작동안함
#driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
## 신규 코드
driver = webdriver.Chrome(f'./chromedriver.exe', options=option)
driver.implicitly_wait(10)| [trino] 몽고디비 json형태 꺼내오는 쿼리(feat.unnest) (0) | 2023.10.26 |
|---|---|
| WSL 에 운영체제 설치하기 (0) | 2022.12.15 |
| WLS에 설치된 운영체제 삭제하기 (0) | 2022.12.15 |
| [리뷰] 금융 전략을 위한 머신러닝 (Machine Learning and Data Science Blueprints for Finance) (0) | 2022.02.23 |
| [mac m1] Visual Studio Code에 anaconda 가상환경 연결 (0) | 2021.08.14 |