Hi

I will do a little more testing and will let you know. It did not work with
INT and Number types, for sure.

While writing, everything is fine :)

On Fri, Jan 27, 2017 at 1:04 PM, Takeshi Yamamuro <linguin....@gmail.com>
wrote:

> How about this?
> https://github.com/apache/spark/blob/master/sql/core/
> src/test/scala/org/apache/spark/sql/jdbc/JDBCSuite.scala#L729
> Or, how about using Double or something instead of Numeric?
>
> // maropu
>
> On Fri, Jan 27, 2017 at 10:25 AM, ayan guha <guha.a...@gmail.com> wrote:
>
>> Okay, it is working with varchar columns only. Is there any way to
>> workaround this?
>>
>> On Fri, Jan 27, 2017 at 12:22 PM, ayan guha <guha.a...@gmail.com> wrote:
>>
>>> hi
>>>
>>> I thought so too, so I created a table with INT and Varchar columns
>>>
>>> desc agtest1
>>>
>>> Name Null Type
>>> ---- ---- -------------
>>> PID       NUMBER(38)
>>> DES       VARCHAR2(100)
>>>
>>> url="jdbc:oracle:thin:@mpimpclu1-scan:1521/DEVAIM"
>>> table = "agtest1"
>>> user = "bal"
>>> password= "bal"
>>> driver="oracle.jdbc.OracleDriver"
>>> df = sqlContext.read.jdbc(url=url,table=table,properties={"user":
>>> user,"password":password,"driver":driver})
>>>
>>>
>>> Still the issue persists.
>>>
>>> On Fri, Jan 27, 2017 at 11:19 AM, Takeshi Yamamuro <
>>> linguin....@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I think you got this error because you used `NUMERIC` types in your
>>>> schema (https://github.com/apache/spark/blob/master/sql/core/src/ma
>>>> in/scala/org/apache/spark/sql/jdbc/OracleDialect.scala#L32). So, IIUC
>>>> avoiding the type is a workaround.
>>>>
>>>> // maropu
>>>>
>>>>
>>>> On Fri, Jan 27, 2017 at 8:18 AM, ayan guha <guha.a...@gmail.com> wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> I am facing exact issue with Oracle/Exadataas mentioned here
>>>>> <http://stackoverflow.com/questions/41873449/sparksql-key-not-found-scale>.
>>>>> Any idea? I could not figure out so sending to this grou hoping someone
>>>>> have see it (and solved it)
>>>>>
>>>>> Spark Version: 1.6
>>>>> pyspark command:
>>>>>
>>>>> pyspark --driver-class-path /opt/oracle/bigdatasql/bdcell-
>>>>> 12.1/jlib-bds/kvclient.jar:/opt/oracle/bigdatasql/bdcell-12.
>>>>> 1/jlib-bds/ojdbc7.jar:/opt/oracle/bigdatasql/bdcell-12.1/jli
>>>>> b-bds/ojdbc7-orig.jar:/opt/oracle/bigdatasql/bdcell-12.1/jli
>>>>> b-bds/oracle-hadoop-sql.jar:/opt/oracle/bigdatasql/bdcell-12
>>>>> .1/jlib-bds/ora-hadoop-common.jar:/opt/oracle/bigdatasql/bdc
>>>>> ell-12.1/jlib-bds/ora-hadoop-common-orig.jar:/opt/oracle/big
>>>>> datasql/bdcell-12.1/jlib-bds/orahivedp.jar:/opt/oracle/bigda
>>>>> tasql/bdcell-12.1/jlib-bds/orahivedp-orig.jar:/opt/oracle/
>>>>> bigdatasql/bdcell-12.1/jlib-bds/orai18n.jar:/opt/oracle/bigd
>>>>> atasql/bdcell-12.1/jlib-bds/orai18n-orig.jar:/opt/oracle/
>>>>> bigdatasql/bdcell-12.1/jlib-bds/oraloader.jar:/opt/oracle/
>>>>> bigdatasql/bdcell-12.1/jlib-bds/oraloader-orig.jar   --conf
>>>>> spark.jars=/opt/oracle/bigdatasql/bdcell-12.1/jlib-bds/oracl
>>>>> e-hadoop-sql.jar,/opt/oracle/bigdatasql/bdcell-12.1/jlib-bds
>>>>> /ora-hadoop-common.jar,/opt/oracle/bigdatasql/bdcell-12.1/jl
>>>>> ib-bds/orahivedp.jar,/opt/oracle/bigdatasql/bdcell-12.1/jlib
>>>>> -bds/oraloader.jar,/opt/oracle/bigdatasql/bdcell-12.1/jlib-
>>>>> bds/ojdbc7.jar,/opt/oracle/bigdatasql/bdcell-12.1/jlib-bd
>>>>> s/orai18n.jar/opt/oracle/bigdatasql/bdcell-12.1/jlib-bds/
>>>>> kvclient.jar,/opt/oracle/bigdatasql/bdcell-12.1/jlib-bds/
>>>>> ojdbc7.jar,/opt/oracle/bigdatasql/bdcell-12.1/jlib-bds/
>>>>> ojdbc7-orig.jar,/opt/oracle/bigdatasql/bdcell-12.1/jlib-bd
>>>>> s/oracle-hadoop-sql.jar,/opt/oracle/bigdatasql/bdcell-12.1/
>>>>> jlib-bds/ora-hadoop-common.jar,/opt/oracle/bigdatasql/
>>>>> bdcell-12.1/jlib-bds/ora-hadoop-common-orig.jar,/opt/oracle/
>>>>> bigdatasql/bdcell-12.1/jlib-bds/orahivedp.jar,/opt/oracle/
>>>>> bigdatasql/bdcell-12.1/jlib-bds/orahivedp-orig.jar,/opt/
>>>>> oracle/bigdatasql/bdcell-12.1/jlib-bds/orai18n.jar,/opt/
>>>>> oracle/bigdatasql/bdcell-12.1/jlib-bds/orai18n-orig.jar,/
>>>>> opt/oracle/bigdatasql/bdcell-12.1/jlib-bds/oraloader.jar,/
>>>>> opt/oracle/bigdatasql/bdcell-12.1/jlib-bds/oraloader-orig.jar
>>>>>
>>>>>
>>>>> Here is my code:
>>>>>
>>>>> url="jdbc:oracle:thin:@mpimpclu1-scan:1521/DEVAIM"
>>>>> table = "HIST_FORECAST_NEXT_BILL_DGTL"
>>>>> user = "bal"
>>>>> password= "bal"
>>>>> driver="oracle.jdbc.OracleDriver"
>>>>> df = sqlContext.read.jdbc(url=url,table=table,properties={"user":
>>>>> user,"password":password,"driver":driver})
>>>>>
>>>>>
>>>>> Error:
>>>>> Traceback (most recent call last):
>>>>>   File "<stdin>", line 1, in <module>
>>>>>   File "/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p2001.2081/lib/s
>>>>> park/python/pyspark/sql/readwriter.py", line 289, in jdbc
>>>>>     return self._df(self._jreader.jdbc(url, table, jprop))
>>>>>   File "/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p2001.2081/lib/s
>>>>> park/python/lib/py4j-0.9-src.zip/py4j/java_gateway.py", line 813, in
>>>>> __call__
>>>>>   File "/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p2001.2081/lib/s
>>>>> park/python/pyspark/sql/utils.py", line 45, in deco
>>>>>     return f(*a, **kw)
>>>>>   File "/opt/cloudera/parcels/CDH-5.8.3-1.cdh5.8.3.p2001.2081/lib/s
>>>>> park/python/lib/py4j-0.9-src.zip/py4j/protocol.py", line 308, in
>>>>> get_return_value
>>>>> py4j.protocol.Py4JJavaError: An error occurred while calling o40.jdbc.
>>>>> : java.util.NoSuchElementException: key not found: scale
>>>>>         at scala.collection.MapLike$class.default(MapLike.scala:228)
>>>>>         at scala.collection.AbstractMap.default(Map.scala:58)
>>>>>         at scala.collection.MapLike$class.apply(MapLike.scala:141)
>>>>>         at scala.collection.AbstractMap.apply(Map.scala:58)
>>>>>         at org.apache.spark.sql.types.Metadata.get(Metadata.scala:108)
>>>>>         at org.apache.spark.sql.types.Met
>>>>> adata.getLong(Metadata.scala:51)
>>>>>         at org.apache.spark.sql.jdbc.Orac
>>>>> leDialect$.getCatalystType(OracleDialect.scala:33)
>>>>>         at org.apache.spark.sql.execution
>>>>> .datasources.jdbc.JDBCRDD$.resolveTable(JDBCRDD.scala:140)
>>>>>         at org.apache.spark.sql.execution
>>>>> .datasources.jdbc.JDBCRelation.<init>(JDBCRelation.scala:91)
>>>>>         at org.apache.spark.sql.DataFrame
>>>>> Reader.jdbc(DataFrameReader.scala:222)
>>>>>         at org.apache.spark.sql.DataFrame
>>>>> Reader.jdbc(DataFrameReader.scala:146)
>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>         at sun.reflect.NativeMethodAccess
>>>>> orImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>         at sun.reflect.DelegatingMethodAc
>>>>> cessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>         at java.lang.reflect.Method.invoke(Method.java:498)
>>>>>         at py4j.reflection.MethodInvoker.
>>>>> invoke(MethodInvoker.java:231)
>>>>>         at py4j.reflection.ReflectionEngi
>>>>> ne.invoke(ReflectionEngine.java:381)
>>>>>         at py4j.Gateway.invoke(Gateway.java:259)
>>>>>         at py4j.commands.AbstractCommand.
>>>>> invokeMethod(AbstractCommand.java:133)
>>>>>         at py4j.commands.CallCommand.execute(CallCommand.java:79)
>>>>>         at py4j.GatewayConnection.run(GatewayConnection.java:209)
>>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best Regards,
>>>>> Ayan Guha
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> ---
>>>> Takeshi Yamamuro
>>>>
>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Ayan Guha
>>>
>>
>>
>>
>> --
>> Best Regards,
>> Ayan Guha
>>
>
>
>
> --
> ---
> Takeshi Yamamuro
>



-- 
Best Regards,
Ayan Guha

Reply via email to