Mark Needham
version: '3.7'
services:
pinot:
image: apachepinot/pinot:0.7.1
command: "QuickStart -type batch"
container_name: "pinot-quickstart"
volumes:
- ./data:/data
ports:
- "9000:9000"
- "8000:8000"
from pinotdb import connect
conn = connect(host='localhost', port=9000, path='/query/sql', scheme='http')
curs = conn.cursor()
curs.execute("""
SELECT * from cases LIMIT 10
""")
for row in curs:
print(row)
I get this error when I run the query:
Traceback (most recent call last):
File "query.py", line 5, in <module>
curs.execute("""
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 44, in g
return f(self, *args, **kwargs)
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 289, in execute
self.check_sufficient_responded(
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 253, in check_sufficient_responded
raise exceptions.DatabaseError(
pinotdb.exceptions.DatabaseError: Query
SELECT * from cases LIMIT 10
timed out: Out of -1, only -1 responded, while needed was -1
Am I querying on the right port? In the examples port 8009 is used, but I tried that and got a different error!Mayank
Mayank
Mark Needham
Kulbir Nijjer
06/17/2021, 4:32 PMMark Needham
Traceback (most recent call last):
File "query.py", line 5, in <module>
curs.execute("""
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 44, in g
return f(self, *args, **kwargs)
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 303, in execute
raise exceptions.DatabaseError(msg)
pinotdb.exceptions.DatabaseError: {'errorCode': 410, 'message': 'BrokerResourceMissingError'}
Mark Needham
Traceback (most recent call last):
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 275, in execute
payload = r.json()
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/requests/models.py", line 900, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "query.py", line 5, in <module>
curs.execute("""
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 44, in g
return f(self, *args, **kwargs)
File "/home/markhneedham/.local/share/virtualenvs/pinot-playground-V0PLiJ36/lib/python3.8/site-packages/pinotdb/db.py", line 277, in execute
raise exceptions.DatabaseError(
pinotdb.exceptions.DatabaseError: Error when querying
SELECT * from cases LIMIT 10
from <http://localhost:8000/sql>, raw response is:
Mayank
Mayank
<https://docs.pinot.apache.org/users/api/querying-pinot-using-standard-sql#rest-api-on-the-broker>
Mayank
Mark Needham
curl: (56) Recv failure: Connection reset by peerMy Docker Compose script is like this now:
version: '3.7'
services:
pinot:
image: apachepinot/pinot:0.7.1
command: "QuickStart -type batch"
container_name: "pinot-quickstart"
volumes:
- ./data:/data
ports:
- "9000:9000"
- "8099:8099"
- "8000:8000"
Mark Needham
$ sudo lsof -i :8099
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 105198 root 4u IPv4 612824 0t0 TCP *:8099 (LISTEN)
docker-pr 105206 root 4u IPv6 607186 0t0 TCP *:8099 (LISTEN)
Mark Needham
from pinotdb import connect
conn = connect(host='localhost', port=9000, path='/sql', scheme='http')
curs = conn.cursor()
curs.execute("""
SELECT * from baseballStats LIMIT 10
""")
for row in curs:
print(row)
Mark Needham
BrokerResourceMissingError
because I was querying a non existent table. It only just occurred to me what that error message meant!Mayank
Mark Needham
Mark Needham
Mayank
Mark Needham
pinot-quickstart | Print playerName,runs,homeRuns for 10 records from the table and order them by yearID
pinot-quickstart | Query : select playerName, runs, homeRuns from baseballStats order by yearID limit 10
pinot-quickstart | Executing command: PostQuery -brokerProtocol http -brokerHost 192.168.64.2 -brokerPort 8000 -queryType sql -query select playerName, runs, homeRuns from baseballStats order by yearID limit 10
Mark Needham
/query/sql
Mark Needham
Mark Needham
Mayank
Mayank
Mark Needham