Hi Ben, I can't reproduce this
from pyspark.sql.types import * > rdd = sc.parallelize([[u'El Niño']]) > df = sqlc.createDataFrame( > rdd, schema=StructType([StructField("unicode data", > StringType(), True)]) > ) > df.show() > z.show(df) shows unicode character fine. -- Ruslan Dautkhanov On Tue, Jul 11, 2017 at 11:37 AM, Ben Vogan <b...@shopkick.com> wrote: > Hi Ruslan, > > I tried adding: > > export LC_ALL="en_US.utf8" > > To my zeppelin-env.sh script and restarted Zeppelin, but I still have the > same problem. The print statement: > > python -c "print (u'\xf1')" > > works from the note. I think the problem is the use of the str function. > Looking at the stack you can see that the zeppelin code is calling > body_buf.write(str(cell)). If you call str(u'\xf1') you will get the error. > > --Ben > > On Tue, Jul 11, 2017 at 10:19 AM, Ruslan Dautkhanov <dautkha...@gmail.com> > wrote: > >> $ env | grep LC >>> $ >>> $ python -c "print (u'\xf1')" >>> ñ >>> >> >> >>> $ export LC_ALL="C" >>> $ python -c "print (u'\xf1')" >>> Traceback (most recent call last): >>> File "<string>", line 1, in <module> >>> UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in >>> position 0: ordinal not in range(128) >>> >> >> >>> $ export LC_ALL="en_US.utf8" >>> $ python -c "print (u'\xf1')" >>> ñ >>> >> >> >>> $ unset LC_ALL >>> $ env | grep LC >>> $ >>> $ python -c "print (u'El Ni\xf1o')" >>> El Niño >> >> >> You could add LC_ALL export to your zeppelin-env.sh script. >> >> >> >> -- >> Ruslan Dautkhanov >> >> On Tue, Jul 11, 2017 at 9:35 AM, Ben Vogan <b...@shopkick.com> wrote: >> >>> Hi all, >>> >>> I am trying to use the zeppelin context to show the contents of a pandas >>> DataFrame and getting the following error: >>> >>> Traceback (most recent call last): >>> File "/tmp/zeppelin_python-7554503996532642522.py", line 278, in >>> <module> >>> raise Exception(traceback.format_exc()) >>> Exception: Traceback (most recent call last): >>> File "/tmp/zeppelin_python-7554503996532642522.py", line 271, in >>> <module> >>> exec(code) >>> File "<stdin>", line 2, in <module> >>> File "/tmp/zeppelin_python-7554503996532642522.py", line 93, in show >>> self.show_dataframe(p, **kwargs) >>> File "/tmp/zeppelin_python-7554503996532642522.py", line 121, in >>> show_dataframe >>> body_buf.write(str(cell)) >>> UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in >>> position 79: ordinal not in range(128) >>> >>> How do I go about resolving this? >>> >>> I'm running version 0.7.1 with python 2.7. >>> >>> Thanks, >>> >>> -- >>> *BENJAMIN VOGAN* | Data Platform Team Lead >>> >>> <http://www.shopkick.com/> >>> <https://www.facebook.com/shopkick> >>> <https://www.instagram.com/shopkick/> >>> <https://www.pinterest.com/shopkick/> <https://twitter.com/shopkickbiz> >>> <https://www.linkedin.com/company-beta/831240/?pathWildcard=831240> >>> >> >> > > > -- > *BENJAMIN VOGAN* | Data Platform Team Lead > > <http://www.shopkick.com/> > <https://www.facebook.com/shopkick> <https://www.instagram.com/shopkick/> > <https://www.pinterest.com/shopkick/> <https://twitter.com/shopkickbiz> > <https://www.linkedin.com/company-beta/831240/?pathWildcard=831240> >