Skip to content

Conversation

@clouds56
Copy link
Contributor

@clouds56 clouds56 commented Oct 7, 2018

No description provided.

@apetresc
Copy link
Member

apetresc commented Oct 8, 2018

Thanks for the contribution, @clouds56 :)

Is this related to #471? Because I have been unable to reproduce that issue with any of my configured versions of Livy. Do you have a failing query and Livy/Spark version that triggers this issue? I would at least like to add a failing test that this resolves, to make sure it's quashed.

Thanks again!

@apetresc apetresc added the kind:bug An unexpected error or issue with sparkmagic label Oct 8, 2018
@apetresc apetresc self-assigned this Oct 8, 2018
@clouds56
Copy link
Contributor Author

clouds56 commented Oct 9, 2018

Yes, I think it should be the common case, since the encoding side (I'm using scala kernel) goes like

return Command(u'{}.foreach(println)'.format(command))

There would be a empty newline at the end. I wonder how it works before?

In my case, server (arch linux) spark/livy version
https://aur.archlinux.org/packages/apache-spark/ 2.3.1
https://livy.incubator.apache.org/download/ 0.5.0-incubating
client (macOS)
python3 3.7.0
sparkmagic 0.12.6 (install via pip)

@liampetti
Copy link

liampetti commented Jan 14, 2019

Same problem here using Livy 5.0

%%sql
SELECT 1

An internal error was encountered.
Please file an issue at https://github.com/jupyter-incubator/sparkmagic
Error: Cannot parse object as JSON: '['{"1":1}', '']'

@Tagar
Copy link

Tagar commented Jan 22, 2019

We can't run %%sql

not

%%spark -c sql

Would it be possible to merge this PR? Thanks.

@jcesart20
Copy link

Yes, this bug is blocking the %%sql usage, could you please merge this fix? thanks!

@apetresc apetresc merged commit ad00e6b into jupyter-incubator:master Jan 31, 2019
apetresc added a commit that referenced this pull request Jan 31, 2019
* Add python3 option in %manage_spark magic (#427)

Fixes #420

* Links fixed in README

* DataError in Pandas moved from core.groupby to core.base (#459)

* DataError in Pandas moved from core.groupby to core.base

* maintain backwards compatability with Pandas 0.22 or lower for DataError

* Bump autoviz version to 0.12.6

* Fix unit test failure caused by un-spec'ed mock which fails traitlet validation (#480)

* Fix failing unit tests

Caused by an un-spec'ed mock in a test which fails traitlet validation

* Bump travis.yml Python3 version to 3.6

Python 3.3 is not only EOL'ed but is now actively unsupported by Tornado, which causes
the Travis build to fail again.

* Bumping version numbers for hdijupyterutils and sparkmagic to keep them in sync

* Add Gitter badge (#482)

* Fix decode json error at trailing empty line (#483)

* Bump version number to 0.12.7
@apetresc
Copy link
Member

Just pushed this to release 0.12.7, which is going out momentarily.

@Tagar
Copy link

Tagar commented Jan 31, 2019

that's great news @apetresc we have this as part of 0.12.7 release - thank you

Do you know if this release also addresses Python 3 compatibility issues described in
#507

cc @gm-spacagna

@Tagar
Copy link

Tagar commented Jan 31, 2019

separately, FYI - I don't see 0.12.7 available on conda yet

https://anaconda.org/search?q=sparkmagic

@apetresc
Copy link
Member

apetresc commented Feb 1, 2019

Do you know if this release also addresses Python 3 compatibility issues described in
#507

No, I'm still working on merging that one. Basically I'm having trouble validating the fix due to Hadoop-related issues in my test environment that I'm still working through. It should be ready soon, though, I hope. (My read-through of the code is good, I just don't want to push a release until my test bench is happy under every possible permutation of conditions, which is starting to add up to quite a lot)

separately, FYI - I don't see 0.12.7 available on conda yet

Hmm actually I have no idea how releases get propagated to Conda; the TravisCI job that pushes to PyPI doesn't include any references to it. However, 0.12.6 is there (which I also did the release process for), which means it must be getting pulled on their end. I guess it's a scheduled job that just hasn't had a chance to propagate yet. I'll check back in a few days to see if it's appeared on Conda yet, and if it hasn't I'll try to ping the original maintainer to figure out what I need to do.

@Tagar
Copy link

Tagar commented Feb 4, 2019

Do you know if this release also addresses Python 3 compatibility issues described in
#507

No, I'm still working on merging that one. Basically I'm having trouble validating the fix due to Hadoop-related issues in my test environment that I'm still working through. It should be ready soon, though, I hope. (My read-through of the code is good, I just don't want to push a release until my test bench is happy under every possible permutation of conditions, which is starting to add up to quite a lot)

Thanks a lot @apetresc for working on this..
Just out of curiosity - do we have some automated tests environment that includes hadoop?
I think this should have helped with speed of adopting new PRs.

Let me know if there is something that we can help?

Thanks again.

ps. I opened a separate issue on conda/conda for question on syncing up conda repo.

kevcunnane pushed a commit to kevcunnane/sparkmagic that referenced this pull request Aug 22, 2019
* Release 0.12.0 (jupyter-incubator#373)

* Make location of config.json file configurable using environment variables (jupyter-incubator#350)

* Make location of config.json file configurable using environment variables

* Update minor version to 0.11.3

* Fix column drop issue when first row has missing value (jupyter-incubator#353)

* Remove extra line

* initial fix of dropping columns

* add unit tests

* revert sql query test change

* revert sql query test change 2

* bump versions

* move outside if

* Adding a working Docker setup for developing sparkmagic (jupyter-incubator#361)

* Adding a working Docker setup for developing sparkmagic

It includes the Jupyter notebook as well as the Livy+Spark endpoint.
Documentation is in the README

* Pre-configure the ~/.sparkmagic/config.json

Now you can just launch a PySpark wrapper kernel and have it work
out of the box.

* Add R to Livy container

Also added an R section to example_config.json to make it work
out of the box - and I think it's just a good thing to have it
anyway, otherwise how would users ever know it was meant to be
there?

* Add more detail to the README container section

* Add dev_mode build-arg.

Disabled by default. When enabled, builds the container using your local
copy of sparkmagic, so that you can test your development changes inside
the container.

* Adding missing kernels

Was missing Scala and Python2. Confirmed that Python2 and
Python3 are indeed separate environments on the spark
container.

* Kerberos authentication support (jupyter-incubator#355)

* Enabled kerberos authentication on sparkmagic and updated test cases.

* Enabled hide and show username/password based on auth_type.

* Updated as per comments.

* Updated documentation for kerberos support

* Added test cases to test backward compatibility of auth in handlers

* Update README.md

Change layout and add build status

* Bump version to 0.12.0 (jupyter-incubator#365)

* Remove extra line

* bump version

* Optional coerce (jupyter-incubator#367)

* Remove extra line

* added optional configuration to have optional coercion

* fix circular dependency between conf and utils

* add gcc installation for dev build

* fix parsing bug for coerce value

* fix parsing bug for coerce value 2

* Automatically configure wrapper-kernel endpoints in widget (jupyter-incubator#362)

* Add pre-configured endpoints to endpoint widget automatically

* Fix crash on partially-defined kernel configurations

* Use LANGS_SUPPORTED constant to get list of possible kernel config sections

* Rename is_default attr to implicitly_added

* Adding blank line between imports and class declaration

* Log failure to connect to implicitly-defined endpoints

* Adding comment explaining implicitly_added

* Pass auth parameter through

* Fix hash and auth to include auth parameter (jupyter-incubator#370)

* Fix hash and auth to include auth parameter

* fix endpoint validation

* remove unecessary commit

* Ability to add custom headers to HTTP calls (jupyter-incubator#371)

* Abiulity to add custom headers to rest call

* Fix import

* Ad basic conf test

* Fix tests

* Add test

* Fix tests

* Fix indent

* Addres review comments

* Add custom headers to example config

* Merge master to release (jupyter-incubator#390)

* Configurable retry for errors (jupyter-incubator#378)

* Remove extra line

* bumping versions

* configurable retry

* fix string

* Make statement and session waiting more responsive (jupyter-incubator#379)

* Remove extra line

* bumping versions

* make sleeping for sessions an exponential backoff

* fix bug

* Add vscode tasks (jupyter-incubator#383)

* Remove extra line

* bumping versions

* add vscode tasks

* Fix endpoints widget when deleting a session (jupyter-incubator#389)

* Remove extra line

* bumping versions

* add vscode tasks

* fix deleting from endpoint widget, add notebooks to docker file, refresh correctly, populate endpoints correctly

* fix tests

* add unit tests

* refresh after cleanup

* Merge master to release (jupyter-incubator#392)

* Configurable retry for errors (jupyter-incubator#378)

* Remove extra line

* bumping versions

* configurable retry

* fix string

* Make statement and session waiting more responsive (jupyter-incubator#379)

* Remove extra line

* bumping versions

* make sleeping for sessions an exponential backoff

* fix bug

* Add vscode tasks (jupyter-incubator#383)

* Remove extra line

* bumping versions

* add vscode tasks

* Fix endpoints widget when deleting a session (jupyter-incubator#389)

* Remove extra line

* bumping versions

* add vscode tasks

* fix deleting from endpoint widget, add notebooks to docker file, refresh correctly, populate endpoints correctly

* fix tests

* add unit tests

* refresh after cleanup

* Try to fix pypi repos (jupyter-incubator#391)

* Remove extra line

* bumping versions

* add vscode tasks

* try to fix pypi new repos

* Merge master to release (jupyter-incubator#394)

* Configurable retry for errors (jupyter-incubator#378)

* Remove extra line

* bumping versions

* configurable retry

* fix string

* Make statement and session waiting more responsive (jupyter-incubator#379)

* Remove extra line

* bumping versions

* make sleeping for sessions an exponential backoff

* fix bug

* Add vscode tasks (jupyter-incubator#383)

* Remove extra line

* bumping versions

* add vscode tasks

* Fix endpoints widget when deleting a session (jupyter-incubator#389)

* Remove extra line

* bumping versions

* add vscode tasks

* fix deleting from endpoint widget, add notebooks to docker file, refresh correctly, populate endpoints correctly

* fix tests

* add unit tests

* refresh after cleanup

* Try to fix pypi repos (jupyter-incubator#391)

* Remove extra line

* bumping versions

* add vscode tasks

* try to fix pypi new repos

* Test 2.7.13 environment for pypi push to prod (jupyter-incubator#393)

* Remove extra line

* bumping versions

* add vscode tasks

* try to fix pypi new repos

* try to fix pip push for prod pypi by pinning to later version of python

* bump versions (jupyter-incubator#395)

* Release v0.12.6 (jupyter-incubator#481)

* Add python3 option in %manage_spark magic (jupyter-incubator#427)

Fixes jupyter-incubator#420

* Links fixed in README

* DataError in Pandas moved from core.groupby to core.base (jupyter-incubator#459)

* DataError in Pandas moved from core.groupby to core.base

* maintain backwards compatability with Pandas 0.22 or lower for DataError

* Bump autoviz version to 0.12.6

* Fix unit test failure caused by un-spec'ed mock which fails traitlet validation (jupyter-incubator#480)

* Fix failing unit tests

Caused by an un-spec'ed mock in a test which fails traitlet validation

* Bump travis.yml Python3 version to 3.6

Python 3.3 is not only EOL'ed but is now actively unsupported by Tornado, which causes
the Travis build to fail again.

* Bumping version numbers for hdijupyterutils and sparkmagic to keep them in sync

* add magic for matplotlib display

* repair

* Patch SparkMagic for latest IPythonKernel compatibility

**Description**
* The IPython interface was updated to return an asyncio.Future rather than a dict from version 5.1.0. This broke SparkMagic as it still expects a dictionart from the output
* This change updates the SparkMagic base kernel to expect a Future and block on its result.
* This also updates the dependencies to call out the the new IPython version dependency.

**Testing Done**
* Unit tests added
* Validating that the kernel connects successfully
* Validating some basic Spark additional operations on an EMR cluster.

* Fix decode json error at trailing empty line (jupyter-incubator#483)

* Bump version number to 0.12.7

* add a screenshot of an example  for display matplot picture

* Fix guaranteed stack trace

* Simplify loop a bit

* We want to be able to interrupt the sleep, so move that outside the try / except

* Add missing session status to session.

* Correct to correct URL with full list.

* Better tests.

* Switch to Livy 0.6.

* Sketch of removal of PYSPARK3.

* Don't allow selection of Python3, since it's not a separate thing now.

* __repr__ for easier debugging of test failures.

* Start fixing tests.

* Rip out more no-longer-relevant "Python 3" code. Python 3 and Python 2 work again.

* Changelog.

* Add progress bar to sparkmagic/sparkmagic/livyclientlib/command.py. Tested with livy 0.4-0.6, python2 and python3

* Support Future and non-Future results from ipykernel.

* News entry.

* Unpin ipykernel so it works with Python 2.

* Python 3.7 support.

* Also update requirements.txt.

* Xenial has 3.7.

* from IPython.display import display to silence travis warning

* Couple missing entries.

* Update versions.

* Document release process, as I understand it.

* Correct file name.

* delete obsolete pyspark3kernel (jupyter-incubator#549)

* delete obsolete pyspark3kernel

* Update README.md

* Update setup.py

* Update test_kernels.py

* Remove old kernelspec installation from Dockerfile

This kernel was removed in jupyter-incubator#549 but the Dockerfile still tries to
install it, which fails the build. This corrects that.

* Relax constraints even more, and make sure to relax them in duplicate locations.

* Don't assume some pre-populated tables, create a new table from the Docker
image's examples.

* Note new feature.

* Additional dependencies for matplotlib to work.

* Add support and documentation for extension use, refactor kernel use.

* Example in pyspark kernel.

* Test for Command's decoding of images.

* Switch to plotly 3.

* Try to switch to standard mechanism Sparkmagic uses for displaying.

* Another entry.

* Add documentation for JupyterLab.

* Prepare for 0.12.9.

* Revert get_session_kind change to be more consistent with upstream repo.

* Remove redundant python3 session test.

* Remove python3 references in livysession.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind:bug An unexpected error or issue with sparkmagic

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants