小编anu*_*rag的帖子

使用Teradata模块将Python与Teradata连接

我在Windows 7上安装了python 2.7.0和Teradata模块.我无法从python连接和quyey TD.

__PRE__

现在我想使用Python导入teradata模块并执行如下操作:

  1. 向teradata发送查询并获取结果集.
  2. 检查是否与teradata建立了联系.3.etc ..

请帮我编写代码,因为我是Python新手,并且我没有可用的信息来连接到teradata.

python connection odbc teradata

10
推荐指数
2
解决办法
4万
查看次数

在 Azure 数据块中创建外部表

我是 azure databricks 的新手,并尝试创建一个指向 Azure Data Lake Storage (ADLS) Gen-2 位置的外部表。

从 databricks 笔记本中,我尝试为 ADLS 访问设置 spark 配置。我仍然无法执行创建的 DDL。

注意:对我有用的一种解决方案是将 ADLS 帐户安装到集群,然后使用外部表的 DDL 中的安装位置。但是我需要检查是否可以使用没有安装位置的 ADLS 路径创建外部表 DDL。

# Using Principal credentials
spark.conf.set("dfs.azure.account.auth.type", "OAuth")
spark.conf.set("dfs.azure.account.oauth.provider.type", "ClientCredential")
spark.conf.set("dfs.azure.account.oauth2.client.id", "client_id")
spark.conf.set("dfs.azure.account.oauth2.client.secret", "client_secret")
spark.conf.set("dfs.azure.account.oauth2.client.endpoint", 
"https://login.microsoftonline.com/tenant_id/oauth2/token")
Run Code Online (Sandbox Code Playgroud)

数据线

create external table test(
id string,
name string
)
partitioned by (pt_batch_id bigint, pt_file_id integer)
STORED as parquet
location 'abfss://container@account_name.dfs.core.windows.net/dev/data/employee
Run Code Online (Sandbox Code Playgroud)

收到错误

Error in SQL statement: AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Got exception: shaded.databricks.v20180920_b33d810.org.apache.hadoop.fs.azurebfs.contracts.exceptions.ConfigurationPropertyNotFoundException Configuration property account_name.dfs.core.windows.net not found.);
Run Code Online (Sandbox Code Playgroud)

我需要帮助知道这是否可以直接在 DDL …

hive azure external-tables databricks azure-databricks

7
推荐指数
1
解决办法
5148
查看次数

在Spark数据框中添加月份到日期列

我有一种情况,我想在spark的日期列中添加月份,该日期列DataFrame具有两列的数据类型(Date,Int)

例如

df.show()
Run Code Online (Sandbox Code Playgroud)
df.show()
Run Code Online (Sandbox Code Playgroud)

我想添加一个新列,该列将有一个新日期(向现有日期添加月份之后),输出将如下所示-

data_date months_to_add
2015-06-23 5
2016-07-20 7
Run Code Online (Sandbox Code Playgroud)

我已经尝试了下面的代码,但是它似乎没有用-

df = df.withColumn("new_data_date", a
  dd_months(col("data_date"), col("months_to_add")))
Run Code Online (Sandbox Code Playgroud)

它给我错误-

data_date month_to_add new_data_date
2015-06-23 5           2015-11-23
2016-07-20 1           2016-8-20
Run Code Online (Sandbox Code Playgroud)

如果有什么方法可以实现而不在数据框顶部使用SQL查询,请帮助我。

python apache-spark apache-spark-sql pyspark

3
推荐指数
1
解决办法
9630
查看次数

响应行大小溢出 (9804) 错误

我正在 teradata 14.0 中执行以下查询

        SELECT oreplace(CAST(RULE_ID AS VARCHAR(1000)),' ','') RULE_ID,
        oreplace(CAST(PHASE_ID AS VARCHAR(1000)),' ','') PHASE_ID,
        oreplace(CAST(TARGET_TABLE_NAME AS VARCHAR(1000)),' ','') TARGET_TABLE_NAME,
        oreplace(CAST(AUDIT_TABLE_NAME AS VARCHAR(1000)),' ','') AUDIT_TABLE_NAME,
        oreplace(CAST(PROC_NAME AS VARCHAR(1000)),' ','') PROC_NAME,
        oreplace(CAST(ACTIVE_START_DT AS VARCHAR(1000)),' ','') ACTIVE_START_DT,
        oreplace(CAST(ACTIVE_END_DT AS VARCHAR(1000)),' ','') ACTIVE_END_DT,
        oreplace(CAST(ACTIVE_IND AS VARCHAR(1000)),' ','')  ACTIVE_IND,
        oreplace(CAST(WRITE_AUDIT_IND AS VARCHAR(1000)),' ','') WRITE_AUDIT_IND,
        oreplace(CAST(SCENARIO_TYPE AS VARCHAR(1000)),' ','') SCENARIO_TYPE,
        oreplace(CAST(RULE_ORDER AS VARCHAR(1000)),' ','') RULE_ORDER

        FROM table
Run Code Online (Sandbox Code Playgroud)

当我执行此查询时,收到 9804(响应行大小溢出)。

使用的字符集:ASCII

teradata

1
推荐指数
1
解决办法
3598
查看次数