今、oracleデータベースに接続するためにSparkを使用しています。ただし、「TIMESTAMP WITH TIMEZONE」という名前の列タイプがあります。これはOracleの特定の列です。この型の列を含むよりもテーブルからデータをロードすると、エラー "java.sql.SQLException:Unsupported type -101"がスローされます。Spack JDBCを使用して特定の列を選択するにはどうすればよいですか?
誰かがテーブルから特定の列を読み込む方法を知っていますか?それから、「TIMESTAMP WITH TIMEZONE」列を選択するのを避けることができます。誰かが "java.sql.SQLException:Unsupported type -101"というエラーを見つけ出すことができる方が良いでしょう。しかし、私はそれがスパークのバグかもしれないと思う。
私のコードは次のとおりです、ありがとうございます。
spark = SparkSession\
.builder\
.appName("TestSQL")\
.getOrCreate()
orc = spark.read \
.format("jdbc") \
.option("url", "jdbc:oracle:thin:xxx/[email protected]:1521/database") \
.option("dbtable", "xxx.xxx") \
.load()
ありがとうございました!それはJavaコードでなければならないのですか?私は、PythonコードのdbtableパラメータにSQLクエリを渡し、 "invalid table name"というエラーが発生しました。 –
私は確信していません、Javaで動作します –
ありがとう、私は少しJavaを試してみます。 –