You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by wt <wa...@gmail.com> on 2018/07/13 06:50:58 UTC

spark ignite - Failed to instantiate Spring XML application context

i have ignite running out of intellij and all is okay, i can connect to it
using dbbeaver and create and query tables. Trying to get spark working with
it and all imports are okay however when i try read from ignite i get this
error that i am struggling to find any information about on the web. 


*Spark*

C:\Spark\bin>spark-shell
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use
setLogLevel(newLevel).
Spark context Web UI available at http://PC50439.oa.pnrad.net:4040
Spark context available as 'sc' (master = local[*], app id =
local-1531422743118).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.3.1
      /_/

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java
1.8.0_151)
Type in expressions to have them evaluated.
Type :help for more information.

scala>   import org.apache.ignite.spark.IgniteDataFrameSettings._
import org.apache.ignite.spark.IgniteDataFrameSettings._

scala>    import org.apache.ignite.spark._
import org.apache.ignite.spark._

scala>  val df =
spark.read.format(FORMAT_IGNITE).option(OPTION_TABLE,"ComplianceSummaryCache.ComplianceSummary").option(OPTION_CONFIG_FILE,"file://temp/ignite
stoxx/src/main/resourcesMETA-INF/stoxx-server.xml").load()
org.apache.ignite.IgniteCheckedException: Failed to instantiate Spring XML
application context [springUrl=file://temp/ignite
stoxx/src/main/resourcesMETA-INF/stoxx-server.xml, err=IOException parsing
XML document from URL [file://temp/ignite
stoxx/src/main/resourcesMETA-INF/stoxx-server.xml]; nested exception is
java.net.UnknownHostException: temp]
  at
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.applicationContext(IgniteSpringHelperImpl.java:392)
  at
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.loadConfigurations(IgniteSpringHelperImpl.java:104)
  at
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.loadConfigurations(IgniteSpringHelperImpl.java:98)
  at
org.apache.ignite.internal.IgnitionEx.loadConfigurations(IgnitionEx.java:744)
  at
org.apache.ignite.internal.IgnitionEx.loadConfigurations(IgnitionEx.java:783)
  at
org.apache.ignite.internal.IgnitionEx.loadConfiguration(IgnitionEx.java:823)
  at
org.apache.ignite.spark.impl.IgniteRelationProvider$$anonfun$configProvider$1$1.apply(IgniteRelationProvider.scala:216)
  at
org.apache.ignite.spark.impl.IgniteRelationProvider$$anonfun$configProvider$1$1.apply(IgniteRelationProvider.scala:213)
  at org.apache.ignite.spark.Once.apply(IgniteContext.scala:222)
  at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:144)
  at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
  at org.apache.ignite.spark.IgniteContext$.apply(IgniteContext.scala:192)
  at
org.apache.ignite.spark.impl.IgniteRelationProvider.igniteContext(IgniteRelationProvider.scala:236)
  at
org.apache.ignite.spark.impl.IgniteRelationProvider.createRelation(IgniteRelationProvider.scala:62)
  at
org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:340)
  at
org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:239)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:227)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:164)
  ... 53 elided


*Config*


<?xml version="1.0" encoding="UTF-8"?>



<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                          
http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/util
                          
http://www.springframework.org/schema/util/spring-util.xsd">
    
    <bean id="placeholderConfig"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:secret.properties"/>
    </bean>

    
    <bean id="dsSQLServer_Sustainanalytics"
class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
        <property name="URL"
value="${dsSQLServer_Sustainanalytics.jdbc.url}"/>
        <property name="user"
value="${dsSQLServer_Sustainanalytics.jdbc.username}"/>
        <property name="password"
value="${dsSQLServer_Sustainanalytics.jdbc.password}"/>
    </bean>

    <bean class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="clientMode" value="true"/>
        <property name="igniteInstanceName" value="stoxx"/>

        <property name="discoverySpi">
            <bean
class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                <property name="ipFinder">
                    <bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                        <property name="addresses">
                            <list>
                                <value>127.0.0.1:47500..47510</value>
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </property>

        <property name="dataStorageConfiguration">
            <bean
class="org.apache.ignite.configuration.DataStorageConfiguration">
                <property name="defaultDataRegionConfiguration">
                    <bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
                        <property name="maxSize" value="1048576000"/>
                    </bean>
                </property>
            </bean>
        </property>

        <property name="cacheConfiguration">
            <list>
                <bean
class="org.apache.ignite.configuration.CacheConfiguration">
                    <property name="name" value="ComplianceSummaryCache"/>
                    <property name="cacheMode" value="PARTITIONED"/>
                    <property name="atomicityMode" value="ATOMIC"/>


                    <property name="cacheStoreFactory">
                        <bean
class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
                            <property name="dataSourceBean"
value="dsSQLServer_Sustainanalytics"/>
                            <property name="dialect">
                                <bean
class="org.apache.ignite.cache.store.jdbc.dialect.SQLServerDialect">
                                </bean>
                            </property>

                            <property name="types">
                                <list>
                                    <bean
class="org.apache.ignite.cache.store.jdbc.JdbcType">
                                        <property name="cacheName"
value="ComplianceSummaryCache"/>
                                        <property name="keyType"
value="com.gmail.waynetheron.model.ComplianceSummaryKey"/>
                                        <property name="valueType"
value="com.gmail.waynetheron.model.ComplianceSummary"/>
                                        <property name="databaseSchema"
value="SustainAnalytics"/>
                                        <property name="databaseTable"
value="Compliance_Summary"/>

                                        <property name="keyFields">
                                            <list>
                                                <bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                    <constructor-arg>
                                                        <util:constant
static-field="java.sql.Types.INTEGER"/>
                                                    </constructor-arg>
                                                    <constructor-arg
value="companyId"/>
                                                    <constructor-arg
value="int"/>
                                                    <constructor-arg
value="companyId"/>
                                                </bean>
                                            </list>
                                        </property>

                                        <property name="valueFields">
                                            <list>
                                                <bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                    <constructor-arg>
                                                        <util:constant
static-field="java.sql.Types.INTEGER"/>
                                                    </constructor-arg>
                                                    <constructor-arg
value="companyId"/>
                                                    <constructor-arg
value="int"/>
                                                    <constructor-arg
value="companyid"/>
                                                </bean>

                                                <bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                    <constructor-arg>
                                                        <util:constant
static-field="java.sql.Types.VARCHAR"/>
                                                    </constructor-arg>
                                                    <constructor-arg
value="Compliance_Summary_Item"/>
                                                    <constructor-arg
value="java.lang.String"/>
                                                    <constructor-arg
value="complianceSummaryItem"/>
                                                </bean>

                                                <bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                    <constructor-arg>
                                                        <util:constant
static-field="java.sql.Types.VARCHAR"/>
                                                    </constructor-arg>
                                                    <constructor-arg
value="Compliance_Summary_Value"/>
                                                    <constructor-arg
value="java.lang.String"/>
                                                    <constructor-arg
value="complianceSummaryValue"/>
                                                </bean>

                                                <bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                    <constructor-arg>
                                                        <util:constant
static-field="java.sql.Types.DATE"/>
                                                    </constructor-arg>
                                                    <constructor-arg
value="Record_Valid_From"/>
                                                    <constructor-arg
value="java.sql.Date"/>
                                                    <constructor-arg
value="recordValidFrom"/>
                                                </bean>

                                                <bean
class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                    <constructor-arg>
                                                        <util:constant
static-field="java.sql.Types.DATE"/>
                                                    </constructor-arg>
                                                    <constructor-arg
value="Record_Valid_To"/>
                                                    <constructor-arg
value="java.sql.Date"/>
                                                    <constructor-arg
value="recordValidTo"/>
                                                </bean>
                                            </list>
                                        </property>
                                    </bean>
                                </list>
                            </property>
                        </bean>
                    </property>

                    <property name="readThrough" value="true"/>
                    <property name="writeThrough" value="true"/>

                    <property name="queryEntities">
                        <list>
                            <bean
class="org.apache.ignite.cache.QueryEntity">
                                <property name="keyType"
value="com.gmail.waynetheron.model.ComplianceSummaryKey"/>
                                <property name="valueType"
value="com.gmail.waynetheron.model.ComplianceSummary"/>

                                <property name="fields">
                                    <map>
                                        <entry key="companyid"
value="java.lang.Integer"/>
                                        <entry key="complianceSummaryItem"
value="java.lang.String"/>
                                        <entry key="complianceSummaryValue"
value="java.lang.String"/>
                                        <entry key="recordValidFrom"
value="java.sql.Date"/>
                                        <entry key="recordValidTo"
value="java.sql.Date"/>
                                    </map>
                                </property>

                                <property name="indexes">
                                    <list>
                                        <bean
class="org.apache.ignite.cache.QueryIndex">
                                            <property name="name"
value="Cl_Compliance_Summary"/>
                                            <property name="indexType"
value="SORTED"/>

                                            <property name="fields">
                                                <map>
                                                    <entry key="companyid"
value="false"/>
                                                    <entry
key="complianceSummaryItem" value="false"/>
                                                    <entry
key="recordValidFrom" value="false"/>
                                                    <entry
key="recordValidTo" value="false"/>
                                                </map>
                                            </property>
                                        </bean>
                                    </list>
                                </property>
                            </bean>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
</beans>



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: spark ignite - Failed to instantiate Spring XML application context

Posted by Ray <ra...@cisco.com>.
Please refer to this ticket for more information.

https://issues.apache.org/jira/browse/IGNITE-8534



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: spark ignite - Failed to instantiate Spring XML application context

Posted by wt <wa...@gmail.com>.
thanks a million for that nugget. I tried to find that info and couldn't find
it, do you perhaps have a link to a resource i can digest as there seems to
be little documentation around the technicals. 



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: spark ignite - Failed to instantiate Spring XML application context

Posted by Ray <ra...@cisco.com>.
Currently, Ignite can only works with Spark 2.2.
When Ignite 2.6 releases, it will be able to work with Spark 2.3.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/