question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

presto plugin developing problems

See original GitHub issue

Hi,all: I am trying to build a new presto-plugin in my independent project( not in presto-root project ). So i add some maven dependencies into my pom, and build out my plugin.

 ` <dependency>
        <groupId>com.facebook.presto</groupId>
        <artifactId>presto-spi</artifactId>
        <scope>provided</scope>
    </dependency>

   <dependency>
        <groupId>io.airlift</groupId>
        <artifactId>slice</artifactId>
        <scope>provided</scope>
    </dependency>`

My 1th problem is: how can i debug my plugin code without deploying my plugin into directory “plugins” on presto cluster? Can i start-up a local presto server in my IDE to debug my code?

My 2th problem is: I build a presto-plugin to read data from a new file format like “carbondata”, and most columns in “carbondata” format is decoded in global dictionary.
now i’m using interface RecordSet to get all decoded records. However in some cases, we do not need the decoded step when doing some aggregation jobs,
So is there any optimizations in presto can delay the decoding process?

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:11 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
daincommented, Mar 15, 2017

You should also delay decoding columns until Presto asks for a column. For example, a common query is:

SELECT * FROM table t WHERE someVeryRareCondition(t.x)

If someVeryRareCondition never returns true, then Presto will only ask for data from column x.

If your datasource has column oriented, then you will want to use the PageSource API, which is more efficient to Presto. For lazy decoding in PageSource, we use LazyBlock.

-dain

On Mar 15, 2017, at 12:09 AM, Grzegorz Kokosiński notifications@github.com wrote:

Ad 2. In your case you should only decode col1. count(*) does not need to read your data it just counts the rows

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

1reaction
kokosingcommented, Mar 15, 2017

Ad. 1. You can do:

Ad. 2. I haven’t heard of anything like that. However you will get a list of columns (projection) which are going to be used. That way you don’t need to decode values for columns that are not going to be used.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Getting Started With PrestoDB - DZone Refcardz
PrestoDB is a distributed SQL query engine for big data that aims to tackle all of these problems in a federated way. It...
Read more >
Presto Player Pro Not Updating
Do you have issues updating your Presto Player plugin? in this document, you can learn how to update the plugin manually .
Read more >
Presto Player Review - Media Player Plugin for WordPress
Presto Player is a media player WordPress plugin for enhancing your ... Embedding videos from sources such as Youtube or Wistia may cause...
Read more >
Known plugin and theme conflicts and incompatibilities
PROBLEM - When a theme developed by ThimPress is active, the registration process will not send users to the payment page, but will...
Read more >
Presto & Apache Pinot - Learning and Operating ... - O'Reilly
The Presto-Pinto connector does not yet fully support timezones, but that feature is in active development. Troubleshooting Common Issues. These are some of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found